<?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>49897</bug_id>
          
          <creation_ts>2010-11-22 01:47:09 -0800</creation_ts>
          <short_desc>Refactoring of the custom allocation framework</short_desc>
          <delta_ts>2011-01-20 09:33:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42998</dependson>
    
    <dependson>46589</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Zoltan Horvath">zoltan</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>levin</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>312253</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 01:47:09 -0800</bug_when>
    <thetext>Inheriting from FastAllocBase can result in objects getting larger (bug #33896, bug #46589). Change Noncopyable and FastAllocBase inheriting to their macro implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312255</commentid>
    <comment_count>1</comment_count>
      <attachid>74534</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 01:59:13 -0800</bug_when>
    <thetext>Created attachment 74534
proposed patch

All in one patch. A bit large.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312259</commentid>
    <comment_count>2</comment_count>
      <attachid>74534</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 02:06:20 -0800</bug_when>
    <thetext>Comment on attachment 74534
proposed patch

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

&gt; JavaScriptCore/runtime/DateInstanceCache.h:40
&gt; +

I&apos;ll remove this.

&gt; WebKitTools/DumpRenderTree/ForwardingHeaders/wtf/Noncopyable.h:-1
&gt; -#include &lt;JavaScriptCore/Noncopyable.h&gt;

prepare-ChangeLog didn&apos;t generate changelog for WebKitTools. I&apos;ll make up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312260</commentid>
    <comment_count>3</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 02:09:04 -0800</bug_when>
    <thetext>I won&apos;t update the patch until Darin&apos;s comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312261</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-11-22 02:12:50 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I won&apos;t update the patch until Darin&apos;s comment.

Only 3 files should be updated to make this patch appliable:
JavaScriptCore/bytecode/CodeBlock.h
WebCore/bindings/js/JSSVGContextCache.h
WebCore/svg/DeprecatedSVGAnimatedPropertyTraits.h

We would like to know what EWS bots say. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312262</commentid>
    <comment_count>5</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 02:14:03 -0800</bug_when>
    <thetext>We would not want to know yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312349</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-22 08:24:09 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I won&apos;t update the patch until Darin&apos;s comment.

If it builds, I think it’s fine to do this all at once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312750</commentid>
    <comment_count>7</comment_count>
      <attachid>74640</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 04:10:47 -0800</bug_when>
    <thetext>Created attachment 74640
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312756</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-23 04:40:41 -0800</bug_when>
    <thetext>Attachment 74640 did not build on chromium:
Build output: http://queues.webkit.org/results/6404012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312765</commentid>
    <comment_count>9</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-23 04:56:12 -0800</bug_when>
    <thetext>Attachment 74640 did not build on qt:
Build output: http://queues.webkit.org/results/6373010</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312770</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-23 05:02:15 -0800</bug_when>
    <thetext>Attachment 74640 did not build on chromium:
Build output: http://queues.webkit.org/results/6420010</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312790</commentid>
    <comment_count>11</comment_count>
      <attachid>74652</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 05:40:44 -0800</bug_when>
    <thetext>Created attachment 74652
playing with EWSs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312803</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-23 06:22:32 -0800</bug_when>
    <thetext>Attachment 74652 did not build on chromium:
Build output: http://queues.webkit.org/results/6389012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312809</commentid>
    <comment_count>13</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-23 06:27:22 -0800</bug_when>
    <thetext>Attachment 74652 did not build on qt:
Build output: http://queues.webkit.org/results/6408014</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312819</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-23 07:01:02 -0800</bug_when>
    <thetext>Attachment 74652 did not build on chromium:
Build output: http://queues.webkit.org/results/6391012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312825</commentid>
    <comment_count>15</comment_count>
      <attachid>74660</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 07:15:17 -0800</bug_when>
    <thetext>Created attachment 74660
playing with EWSs round #2

I can&apos;t do anything on win applying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312842</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-23 07:53:17 -0800</bug_when>
    <thetext>Attachment 74660 did not build on chromium:
Build output: http://queues.webkit.org/results/6348018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312843</commentid>
    <comment_count>17</comment_count>
      <attachid>74664</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 07:55:37 -0800</bug_when>
    <thetext>Created attachment 74664
playing with Chromium&apos;s EWS bots round #3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312844</commentid>
    <comment_count>18</comment_count>
      <attachid>74665</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 07:58:18 -0800</bug_when>
    <thetext>Created attachment 74665
playing with Chromium&apos;s EWS bots round #3

FontCustomPlatformDataCairo.h fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312846</commentid>
    <comment_count>19</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 08:00:07 -0800</bug_when>
    <thetext>To be continued tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312848</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-23 08:03:26 -0800</bug_when>
    <thetext>Attachment 74660 did not build on chromium:
Build output: http://queues.webkit.org/results/6404015</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312892</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-23 09:31:18 -0800</bug_when>
    <thetext>Attachment 74665 did not build on chromium:
Build output: http://queues.webkit.org/results/6337018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313156</commentid>
    <comment_count>22</comment_count>
      <attachid>74729</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-24 00:20:49 -0800</bug_when>
    <thetext>Created attachment 74729
playing with Chromium&apos;s EWS bot round #4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313758</commentid>
    <comment_count>23</comment_count>
      <attachid>74876</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-25 07:23:17 -0800</bug_when>
    <thetext>Created attachment 74876
proposed patch (review candidate)

I tested it with Linux-Chrome, Linux-Gtk and others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313767</commentid>
    <comment_count>24</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-11-25 07:53:20 -0800</bug_when>
    <thetext>It would be awesome if WTF_MAKE_FAST_ALLOCATED required a semicolon at the end of it for two reasons:
1. It just follows the typical (mental) pattern in C++ for statements (otherwise it looks like a modifier for the next item.
2. It will help with things that do regex for simple parsing. For example,  editors (like emacs) that help with indenting or check-webkit-style.

A simple way to do this would be to add the following as the last line of WTF_MAKE_FAST_ALLOCATED :
  typedef int ThisIsHereToForceASemicolonAfterThisMacro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313787</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-25 08:39:15 -0800</bug_when>
    <thetext>Attachment 74876 did not build on chromium:
Build output: http://queues.webkit.org/results/6342043</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313987</commentid>
    <comment_count>26</comment_count>
      <attachid>74926</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-26 05:53:35 -0800</bug_when>
    <thetext>Created attachment 74926
updated rc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313988</commentid>
    <comment_count>27</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-26 05:54:36 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; It would be awesome if WTF_MAKE_FAST_ALLOCATED required a semicolon at the end of it for two reasons:
&gt; 1. It just follows the typical (mental) pattern in C++ for statements (otherwise it looks like a modifier for the next item.
&gt; 2. It will help with things that do regex for simple parsing. For example,  editors (like emacs) that help with indenting or check-webkit-style.
&gt; 
&gt; A simple way to do this would be to add the following as the last line of WTF_MAKE_FAST_ALLOCATED :
&gt;   typedef int ThisIsHereToForceASemicolonAfterThisMacro

Good idea, I agree with you. I modified the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314898</commentid>
    <comment_count>28</comment_count>
      <attachid>75113</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-30 01:29:29 -0800</bug_when>
    <thetext>Created attachment 75113
updated proposed patch rc

Updated to latest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316886</commentid>
    <comment_count>29</comment_count>
      <attachid>75113</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-03 10:38:01 -0800</bug_when>
    <thetext>Comment on attachment 75113
updated proposed patch rc

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

It isn&apos;t clear why the noncopyable attribute wasn&apos;t retained in various places.

It also isn&apos;t clear why noncopyable was converted to noncopyable+fastallocated in some places but only noncopyable in others.

Lastly, I have some concerns about the macro placement and about some side effects of what is hidden in those macros (private:/public: , etc).

&gt; JavaScriptCore/bytecode/CodeBlock.h:582
&gt; +    public:

Remove &quot;public:&quot; here. (Not equivalent to what was here before.)

&gt; JavaScriptCore/bytecode/CodeBlock.h:606
&gt; +    private:

Remove &quot;private:&quot; here.

&gt; JavaScriptCore/parser/Nodes.h:116
&gt; +        WTF_MAKE_FAST_ALLOCATED;

Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot; (because it appears to me that this is not equivalent to what was here before.)

&gt; JavaScriptCore/parser/Nodes.h:1476
&gt; +        WTF_MAKE_FAST_ALLOCATED;

Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

&gt; JavaScriptCore/pcre/pcre_exec.cpp:51
&gt; +#include &lt;string.h&gt;

Why is this getting added?

&gt; JavaScriptCore/runtime/MarkStack.h:31
&gt; +#include &lt;string.h&gt;

Why did this get added?

&gt; JavaScriptCore/runtime/RegExpObject.h:63
&gt; +        struct RegExpObjectData {

What happened to the fast allocated quality here?

&gt; JavaScriptCore/runtime/RegExpObject.h:64
&gt; +        public:

Remove &quot;public:&quot;

&gt; JavaScriptCore/runtime/SmallStrings.h:41
&gt; +        WTF_MAKE_NONCOPYABLE(SmallStrings); WTF_MAKE_FAST_ALLOCATED;

Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

&gt; JavaScriptCore/runtime/SymbolTable.h:125
&gt; +        WTF_MAKE_FAST_ALLOCATED;

Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

&gt; JavaScriptCore/wtf/MD5.h:35
&gt; +#include &lt;stdint.h&gt;

Why is this being added?

&gt; JavaScriptCore/wtf/OwnArrayPtr.h:37
&gt; +template &lt;typename T&gt; class OwnArrayPtr {

Needs  WTF_MAKE_NONCOPYABLE

&gt; JavaScriptCore/wtf/OwnPtr.h:41
&gt; +    template&lt;typename T&gt; class OwnPtr {

Needs  WTF_MAKE_NONCOPYABLE

&gt; JavaScriptCore/wtf/Platform.h:1122
&gt; +/* Noncopyable&apos;s implementation as a macro */

Use C++ style comments.

platform.h seems like the wrong header file for this.  Why not put them in the header files where they were?

&gt; JavaScriptCore/wtf/Platform.h:1133
&gt; +        private: \

Hiding private: inside of this macro is unexpected and will lead to people scratching their heads when their class members become private after this is put in. (Much like hiding goto or return in a macro).

Instead how about just putting this macro at the end of classes and explicitly adding a private: section if there isn&apos;t one.

&gt; JavaScriptCore/wtf/Platform.h:1147
&gt; +public: \

Same comment as above but instead of putting this macro at the end of the class, one could put it at the end of the public section.

I tend to expect important information at the top of the class and whether the class is fast allocated or not really doesn&apos;t matter to me when I trying to use it.

&gt; JavaScriptCore/wtf/Platform.h:1176
&gt; +private: \

Ditto.

&gt; WebKitTools/WebKitAPITest/HostWindow.h:32
&gt; +class HostWindow {

What happened to Noncopyable?

&gt; WebKitTools/WebKitTestRunner/TestInvocation.h:33
&gt; +class TestInvocation {

What happened to Noncopyable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317617</commentid>
    <comment_count>30</comment_count>
      <attachid>75696</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-06 07:41:43 -0800</bug_when>
    <thetext>Created attachment 75696
updated patch

(In reply to comment #29)
&gt; (From update of attachment 75113 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=75113&amp;action=review
&gt; 
&gt; It isn&apos;t clear why the noncopyable attribute wasn&apos;t retained in various places.
&gt; 
&gt; It also isn&apos;t clear why noncopyable was converted to noncopyable+fastallocated in some places but only noncopyable in others.

When we implemented custom allocation framework into WebKit we made a decision to add FastAllocBase as a base class of Noncopyable because it is a superclass and a lot of heap allocated classes are inherited from it, so some classes needlessly got FastAllocBase&apos;s methods. In this patch I corrected these things, because we can choose exactly which class has to be either fast allocated or noncopyable or both. I use our static code analyzer tool (called Columbus, check http://www.inf.u-szeged.hu/sed/softwarequality) to determine these things.

&gt; Lastly, I have some concerns about the macro placement and about some side effects of what is hidden in those macros (private:/public: , etc).
&gt; 
&gt; &gt; JavaScriptCore/bytecode/CodeBlock.h:582
&gt; &gt; +    public:
&gt; 
&gt; Remove &quot;public:&quot; here. (Not equivalent to what was here before.)
&gt; 
&gt; &gt; JavaScriptCore/bytecode/CodeBlock.h:606
&gt; &gt; +    private:
&gt;
&gt; Remove &quot;private:&quot; here.

Adding of WTF_MAKE_FAST_ALLOCATED to RareData struct causes compile errors on windows:

2&gt;c:\cygwin\home\webkit\webkit\javascriptcore\wtf\OwnPtrCommon.h(59) : error C2248: &apos;JSC::CodeBlock::RareData&apos; : cannot access private struct declared in class &apos;JSC::CodeBlock&apos;
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(582) : see declaration of &apos;JSC::CodeBlock::RareData&apos;
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(245) : see declaration of &apos;JSC::CodeBlock&apos;
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\wtf/PassOwnPtr.h(58) : see reference to function template instantiation &apos;void WTF::deleteOwnedPtr&lt;JSC::CodeBlock::RareData&gt;(T *)&apos; being compiled
2&gt;        with
2&gt;        [
2&gt;            T=JSC::CodeBlock::RareData
2&gt;        ]
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\wtf/PassOwnPtr.h(58) : while compiling class template member function &apos;WTF::PassOwnPtr&lt;T&gt;::~PassOwnPtr(void)&apos;
2&gt;        with
2&gt;        [
2&gt;            T=JSC::CodeBlock::RareData
2&gt;        ]
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(535) : see reference to class template instantiation &apos;WTF::PassOwnPtr&lt;T&gt;&apos; being compiled
2&gt;        with
2&gt;        [
2&gt;            T=JSC::CodeBlock::RareData
2&gt;        ]

I don&apos;t know what causes this. Modifying its access level has solved the problem.
 
&gt; &gt; JavaScriptCore/parser/Nodes.h:116
&gt; &gt; +        WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot; (because it appears to me that this is not equivalent to what was here before.)

Removed.

&gt; &gt; JavaScriptCore/parser/Nodes.h:1476
&gt; &gt; +        WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

FunctionParameters is a Vector and is a RefCounted. Both Vector and RefCounted is fast allocated, so we need to add the macro to make the methods unambigous for the compilers.

&gt; &gt; JavaScriptCore/pcre/pcre_exec.cpp:51
&gt; &gt; +#include &lt;string.h&gt;
&gt; 
&gt; Why is this getting added?

It is needed for memcpy on Chromium build.

&gt; &gt; JavaScriptCore/runtime/MarkStack.h:31
&gt; &gt; +#include &lt;string.h&gt;
&gt; 
&gt; Why did this get added?

When I removed include of Noncopyable.h memcpy missed string.h. 
 
&gt; &gt; JavaScriptCore/runtime/RegExpObject.h:63
&gt; &gt; +        struct RegExpObjectData {
&gt;
&gt; What happened to the fast allocated quality here?
&gt;

Same problem on Windows like at RareData struct. In the new patch I did the same as with RareData.

&gt; 
&gt; &gt; JavaScriptCore/runtime/RegExpObject.h:64
&gt; &gt; +        public:
&gt; 
&gt; Remove &quot;public:&quot;

Ups. It&apos;s a mistake, I removed it.
 
&gt; &gt; JavaScriptCore/runtime/SmallStrings.h:41
&gt; &gt; +        WTF_MAKE_NONCOPYABLE(SmallStrings); WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

Yeap, removed. SmallStringsStorage should be fast allocated not SmallStrings, changed.

&gt; &gt; JavaScriptCore/runtime/SymbolTable.h:125
&gt; &gt; +        WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

SharedSymbolTable is a SymbolTable which is HashMap (HashMap is fast allocated), and it is RefCounted as well. 
The reason is same as for FunctionParameters class.

&gt; &gt; JavaScriptCore/wtf/MD5.h:35
&gt; &gt; +#include &lt;stdint.h&gt;
&gt; 
&gt; Why is this being added?

It is needed on windows because of uint8_t and etc.
MD5.cpp also needs string.h because of memcpy.

&gt; &gt; JavaScriptCore/wtf/OwnArrayPtr.h:37
&gt; &gt; +template &lt;typename T&gt; class OwnArrayPtr {
&gt; 
&gt; Needs  WTF_MAKE_NONCOPYABLE

It doesn&apos;t need because it has it&apos;s own copy constructor: 
JavaScriptCore/wtf/OwnArrayPtr.h:50

&gt; &gt; JavaScriptCore/wtf/OwnPtr.h:41
&gt; &gt; +    template&lt;typename T&gt; class OwnPtr {
&gt; 
&gt; Needs  WTF_MAKE_NONCOPYABLE

Same case as in OwnArrayPtr. CC: JavaScriptCore/wtf/OwnPtr.h:55

&gt; &gt; JavaScriptCore/wtf/Platform.h:1122
&gt; &gt; +/* Noncopyable&apos;s implementation as a macro */
&gt; 
&gt; Use C++ style comments.

Gtk build won&apos;t compile with C++ style comments. Platform.h contains only C style comments.

&gt; platform.h seems like the wrong header file for this.  Why not put them in the header files where they were?

I think it is simplier to put these to platform.h, in this way we can avoid including Noncopyable.h and FastAllocBase.h headers.

&gt; &gt; JavaScriptCore/wtf/Platform.h:1133
&gt; &gt; +        private: \
&gt; 
&gt; Hiding private: inside of this macro is unexpected and will lead to people scratching their heads when their class members become private after this is put in. (Much like hiding goto or return in a macro).

This is the original Noncopyable macro implementation made by Anders Carlsson in bug #46589.

&gt; 
&gt; Instead how about just putting this macro at the end of classes and explicitly adding a private: section if there isn&apos;t one.
&gt;
&gt; &gt; JavaScriptCore/wtf/Platform.h:1147
&gt; &gt; +public: \
&gt; 
&gt; Same comment as above but instead of putting this macro at the end of the class, one could put it at the end of the public section.

Then I think it&apos;s better to putting to the end of the classes. Btw, I had a related patch in bug #47887, but I closed it because I didn&apos;t get response and I wanted to go ahead with this big patch.

&gt; I tend to expect important information at the top of the class and whether the class is fast allocated or not really doesn&apos;t matter to me when I trying to use it.

That is true. I think we should wait for others opinion as well!
I haven&apos;t changed these in my new patch yet.

&gt; &gt; JavaScriptCore/wtf/Platform.h:1176
&gt; &gt; +private: \
&gt; 
&gt; Ditto.

Bug #47887 was related to this.
 
&gt; &gt; WebKitTools/WebKitAPITest/HostWindow.h:32
&gt; &gt; +class HostWindow {
&gt; 
&gt; What happened to Noncopyable?

I did&apos;t want to include Platform.h. Corrected.

&gt; &gt; WebKitTools/WebKitTestRunner/TestInvocation.h:33
&gt; &gt; +class TestInvocation {
&gt; 
&gt; What happened to Noncopyable?

Ditto.
I think these are the cases which indicate separate header files for noncopyable and fast allocated macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317640</commentid>
    <comment_count>31</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-12-06 08:31:01 -0800</bug_when>
    <thetext>Attachment 75696 did not build on qt:
Build output: http://queues.webkit.org/results/6746081</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317645</commentid>
    <comment_count>32</comment_count>
      <attachid>75700</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-06 08:43:35 -0800</bug_when>
    <thetext>Created attachment 75700
updated proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317725</commentid>
    <comment_count>33</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-06 11:01:29 -0800</bug_when>
    <thetext>When I look at http://trac.webkit.org/browser/trunk/JavaScriptCore/wtf/Platform.h, it has no macros of the type that you are adding. It is solely focused on defining what platforms use, enable, and support. The added macros have nothing to do with that.


(In reply to comment #30)
&gt; Created an attachment (id=75696) [details]
&gt; updated patch
&gt; 
&gt; (In reply to comment #29)
&gt; &gt; (From update of attachment 75113 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=75113&amp;action=review
&gt; &gt;  
&gt; Adding of WTF_MAKE_FAST_ALLOCATED to RareData struct causes compile errors on windows:
&gt; 
&gt; 2&gt;c:\cygwin\home\webkit\webkit\javascriptcore\wtf\OwnPtrCommon.h(59) : error C2248: &apos;JSC::CodeBlock::RareData&apos; : cannot access private struct declared in class &apos;JSC::CodeBlock&apos;
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(582) : see declaration of &apos;JSC::CodeBlock::RareData&apos;
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(245) : see declaration of &apos;JSC::CodeBlock&apos;
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\wtf/PassOwnPtr.h(58) : see reference to function template instantiation &apos;void WTF::deleteOwnedPtr&lt;JSC::CodeBlock::RareData&gt;(T *)&apos; being compiled
&gt; 2&gt;        with
&gt; 2&gt;        [
&gt; 2&gt;            T=JSC::CodeBlock::RareData
&gt; 2&gt;        ]
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\wtf/PassOwnPtr.h(58) : while compiling class template member function &apos;WTF::PassOwnPtr&lt;T&gt;::~PassOwnPtr(void)&apos;
&gt; 2&gt;        with
&gt; 2&gt;        [
&gt; 2&gt;            T=JSC::CodeBlock::RareData
&gt; 2&gt;        ]
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(535) : see reference to class template instantiation &apos;WTF::PassOwnPtr&lt;T&gt;&apos; being compiled
&gt; 2&gt;        with
&gt; 2&gt;        [
&gt; 2&gt;            T=JSC::CodeBlock::RareData
&gt; 2&gt;        ]
&gt; 
&gt; I don&apos;t know what causes this. Modifying its access level has solved the problem.

It would be good to try to understand why you are doing what you are doing rather than just do something to shut up a compiler.

&gt; 
&gt; &gt; &gt; JavaScriptCore/wtf/Platform.h:1133
&gt; &gt; &gt; +        private: \
&gt; &gt; 
&gt; &gt; Hiding private: inside of this macro is unexpected and will lead to people scratching their heads when their class members become private after this is put in. (Much like hiding goto or return in a macro).
&gt; 
&gt; This is the original Noncopyable macro implementation made by Anders Carlsson in bug #46589.

I guess I&apos;ll have to take this one up with him.


&gt; &gt; 
&gt; &gt; Instead how about just putting this macro at the end of classes and explicitly adding a private: section if there isn&apos;t one.
&gt; &gt;
&gt; &gt; &gt; JavaScriptCore/wtf/Platform.h:1147
&gt; &gt; &gt; +public: \
&gt; &gt; 
&gt; &gt; Same comment as above but instead of putting this macro at the end of the class, one could put it at the end of the public section.
&gt; 
&gt; Then I think it&apos;s better to putting to the end of the classes. Btw, I had a related patch in bug #47887, but I closed it because I didn&apos;t get response and I wanted to go ahead with this big patch.

Well, I&apos;d support doing it in this patch (or I&apos;m willing to re-visit that other patch). Hiding a change in access level makes reading code harder which is bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317727</commentid>
    <comment_count>34</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-06 11:06:15 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Created an attachment (id=75696) [details]
&gt; updated patch
&gt; 
&gt; (In reply to comment #29)
&gt; &gt; (From update of attachment 75113 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=75113&amp;action=review
&gt; &gt; 
&gt; &gt; It isn&apos;t clear why the noncopyable attribute wasn&apos;t retained in various places.
&gt; &gt; 
&gt; &gt; It also isn&apos;t clear why noncopyable was converted to noncopyable+fastallocated in some places but only noncopyable in others.
&gt; 
&gt; When we implemented custom allocation framework into WebKit we made a decision to add FastAllocBase as a base class of Noncopyable because it is a superclass and a lot of heap allocated classes are inherited from it, so some classes needlessly got FastAllocBase&apos;s methods. In this patch I corrected these things, because we can choose exactly which class has to be either fast allocated or noncopyable or both. I use our static code analyzer tool (called Columbus, check http://www.inf.u-szeged.hu/sed/softwarequality) to determine these things.

Your ChangeLog has not indication of what is happening here. Also this is not reflected in the bug title.

Ideally you&apos;d keep equivalence with respect to this aspect for this patch (since the patch is not about fixing FastAllocBase inheritance -- it is about getting rid of those classes -- and there are enough changes in here to do that without introducing a separate change for something else at the same time). Immediately after this change, get rid of the places where it isn&apos;t needed with an appropriate bug, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318163</commentid>
    <comment_count>35</comment_count>
      <attachid>75808</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-07 06:43:40 -0800</bug_when>
    <thetext>Created attachment 75808
updated, ews test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318166</commentid>
    <comment_count>36</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-07 06:48:41 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; When I look at http://trac.webkit.org/browser/trunk/JavaScriptCore/wtf/Platform.h, it has no macros of the type that you are adding. It is solely focused on defining what platforms use, enable, and support. The added macros have nothing to do with that.

Yeap, in the past we talked about to put these into platform.h. Currently, I don&apos;t know the bug&apos;s number.

&gt; It would be good to try to understand why you are doing what you are doing rather than just do something to shut up a compiler.

Done. Patch fixed. More about the build problem: http://msdn.microsoft.com/en-us/library/tsbce2bh(VS.80).aspx


&gt; &gt; 
&gt; &gt; This is the original Noncopyable macro implementation made by Anders Carlsson in bug #46589.
&gt; 
&gt; I guess I&apos;ll have to take this one up with him.
&gt; 
&gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; Instead how about just putting this macro at the end of classes and explicitly adding a private: section if there isn&apos;t one.
&gt; &gt; &gt;
&gt; &gt; &gt; &gt; JavaScriptCore/wtf/Platform.h:1147
&gt; &gt; &gt; &gt; +public: \
&gt; &gt; &gt; 
&gt; &gt; &gt; Same comment as above but instead of putting this macro at the end of the class, one could put it at the end of the public section.
&gt; &gt; 
&gt; &gt; Then I think it&apos;s better to putting to the end of the classes. Btw, I had a related patch in bug #47887, but I closed it because I didn&apos;t get response and I wanted to go ahead with this big patch.
&gt; 
&gt; Well, I&apos;d support doing it in this patch (or I&apos;m willing to re-visit that other patch). Hiding a change in access level makes reading code harder which is bad.

I have started to put the macro&apos;s to the end of the classes. It looks terrible. Do we really want to do that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318167</commentid>
    <comment_count>37</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-07 06:56:39 -0800</bug_when>
    <thetext>(In reply to comment #34)

&gt; &gt; When we implemented custom allocation framework into WebKit we made a decision to add FastAllocBase as a base class of Noncopyable because it is a superclass and a lot of heap allocated classes are inherited from it, so some classes needlessly got FastAllocBase&apos;s methods. In this patch I corrected these things, because we can choose exactly which class has to be either fast allocated or noncopyable or both. I use our static code analyzer tool (called Columbus, check http://www.inf.u-szeged.hu/sed/softwarequality) to determine these things.
&gt; 
&gt; Your ChangeLog has not indication of what is happening here. Also this is not reflected in the bug title.

Yes. What do you think about change the bug and the changelog title to Refactoring custom allocation framework and its inheritances?
 
&gt; Ideally you&apos;d keep equivalence with respect to this aspect for this patch (since the patch is not about fixing FastAllocBase inheritance -- it is about getting rid of those classes -- and there are enough changes in here to do that without introducing a separate change for something else at the same time). Immediately after this change, get rid of the places where it isn&apos;t needed with an appropriate bug, etc.

I&apos;d like to do this one patch if it&apos;s possible. Changing from inheriting to use macros indicates extra changes than just a simple batch replace either way. Of course, I need to extend my changelog! Btw, custom allocation framework has effect only on platforms which defines ENABLE_GLOBAL_FASTMALLOC_NEW to 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318217</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 08:49:23 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;refs/remotes/trunk&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;refs/remotes/trunk&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318269</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 09:50:38 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;refs/remotes/trunk&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;refs/remotes/trunk&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318302</commentid>
    <comment_count>40</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-12-07 10:31:49 -0800</bug_when>
    <thetext>Attachment 75808 did not build on qt:
Build output: http://queues.webkit.org/results/6774094</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318316</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 10:51:40 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;refs/remotes/trunk&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;refs/remotes/trunk&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318366</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 11:52:56 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;refs/remotes/trunk&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;refs/remotes/trunk&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318375</commentid>
    <comment_count>43</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-07 12:02:37 -0800</bug_when>
    <thetext>Attachment 75808 did not build on win:
Build output: http://queues.webkit.org/results/6853064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318406</commentid>
    <comment_count>44</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-07 13:08:35 -0800</bug_when>
    <thetext>Attachment 75808 did not build on win:
Build output: http://queues.webkit.org/results/6735090</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318407</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 13:26:42 -0800</bug_when>
    <thetext>Attachment 75808 did not build on chromium:
Build output: http://queues.webkit.org/results/6790080</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318596</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 21:35:05 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/update-webkit&apos;]&quot; exit_code: 2
Updating OpenSource
Incomplete data: Delta source ended unexpectedly at /usr/lib/git-core/git-svn line 5061

Died at WebKitTools/Scripts/update-webkit line 132.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326648</commentid>
    <comment_count>47</comment_count>
      <attachid>75808</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-24 09:47:08 -0800</bug_when>
    <thetext>Comment on attachment 75808
updated, ews test

Sorry about the style-bot noise.  The stylebot has been fixed.  Since this doens&apos;t pass any EWS (Except gtk) seems this is unlandable as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328993</commentid>
    <comment_count>48</comment_count>
      <attachid>77887</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-04 07:51:49 -0800</bug_when>
    <thetext>Created attachment 77887
updated, ews test, for prereview

In this patch I don&apos;t remove Noncopyable.h, but marcos are still the same with &apos;private:&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329001</commentid>
    <comment_count>49</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-01-04 08:21:08 -0800</bug_when>
    <thetext>Attachment 77887 did not build on win:
Build output: http://queues.webkit.org/results/7236421</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329527</commentid>
    <comment_count>50</comment_count>
      <attachid>77993</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-05 06:09:35 -0800</bug_when>
    <thetext>Created attachment 77993
proposed patch (review candidate)

Windows build and Chromium win build fixed. Patch is updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333034</commentid>
    <comment_count>51</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-12 04:53:52 -0800</bug_when>
    <thetext>Hey, 

is there any thoughts on this patch?

Z</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336537</commentid>
    <comment_count>52</comment_count>
      <attachid>79429</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-19 08:08:25 -0800</bug_when>
    <thetext>Created attachment 79429
updated to latest, playing with ews-s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336539</commentid>
    <comment_count>53</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-19 08:11:22 -0800</bug_when>
    <thetext>Attachment 79429 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 193 in 443 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336657</commentid>
    <comment_count>54</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-19 11:10:04 -0800</bug_when>
    <thetext>Attachment 79429 did not build on mac:
Build output: http://queues.webkit.org/results/7551213</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337191</commentid>
    <comment_count>55</comment_count>
      <attachid>79564</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 01:55:50 -0800</bug_when>
    <thetext>Created attachment 79564
proposed patch (review candidate)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337193</commentid>
    <comment_count>56</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 01:59:06 -0800</bug_when>
    <thetext>Attachment 79564 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 445 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337198</commentid>
    <comment_count>57</comment_count>
      <attachid>79566</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 02:21:30 -0800</bug_when>
    <thetext>Created attachment 79566
proposed patch (review candidate) + efl fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337199</commentid>
    <comment_count>58</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 02:22:59 -0800</bug_when>
    <thetext>Attachment 79564 did not build on chromium:
Build output: http://queues.webkit.org/results/7613242</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337208</commentid>
    <comment_count>59</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-20 02:35:51 -0800</bug_when>
    <thetext>Attachment 79564 did not build on qt:
Build output: http://queues.webkit.org/results/7534250</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337209</commentid>
    <comment_count>60</comment_count>
      <attachid>79568</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 02:35:58 -0800</bug_when>
    <thetext>Created attachment 79568
proposed patch (review candidate)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337210</commentid>
    <comment_count>61</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 02:36:23 -0800</bug_when>
    <thetext>Attachment 79564 did not build on gtk:
Build output: http://queues.webkit.org/results/7499244</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337213</commentid>
    <comment_count>62</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 02:39:30 -0800</bug_when>
    <thetext>Attachment 79568 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 445 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337224</commentid>
    <comment_count>63</comment_count>
      <attachid>79571</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 02:59:35 -0800</bug_when>
    <thetext>Created attachment 79571
proposed patch (review candidate)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337227</commentid>
    <comment_count>64</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:02:47 -0800</bug_when>
    <thetext>Attachment 79571 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 445 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337234</commentid>
    <comment_count>65</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:15:40 -0800</bug_when>
    <thetext>Attachment 79568 did not build on chromium:
Build output: http://queues.webkit.org/results/7549242</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337235</commentid>
    <comment_count>66</comment_count>
      <attachid>79572</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 03:24:09 -0800</bug_when>
    <thetext>Created attachment 79572
proposed patch (review candidate)

EFL fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337236</commentid>
    <comment_count>67</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:25:16 -0800</bug_when>
    <thetext>Attachment 79571 did not build on chromium:
Build output: http://queues.webkit.org/results/7591225</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337237</commentid>
    <comment_count>68</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:26:37 -0800</bug_when>
    <thetext>Attachment 79572 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 446 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337243</commentid>
    <comment_count>69</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-20 03:51:48 -0800</bug_when>
    <thetext>Attachment 79571 did not build on qt:
Build output: http://queues.webkit.org/results/7613245</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337244</commentid>
    <comment_count>70</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:55:56 -0800</bug_when>
    <thetext>Attachment 79564 did not build on chromium:
Build output: http://queues.webkit.org/results/7510220</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337247</commentid>
    <comment_count>71</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 04:10:28 -0800</bug_when>
    <thetext>Attachment 79572 did not build on chromium:
Build output: http://queues.webkit.org/results/7493236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337256</commentid>
    <comment_count>72</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-20 04:30:10 -0800</bug_when>
    <thetext>Attachment 79572 did not build on qt:
Build output: http://queues.webkit.org/results/7627207</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337268</commentid>
    <comment_count>73</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 04:38:49 -0800</bug_when>
    <thetext>Attachment 79572 did not build on gtk:
Build output: http://queues.webkit.org/results/7584224</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337270</commentid>
    <comment_count>74</comment_count>
      <attachid>79581</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 04:41:04 -0800</bug_when>
    <thetext>Created attachment 79581
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337273</commentid>
    <comment_count>75</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 04:44:40 -0800</bug_when>
    <thetext>Attachment 79581 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 446 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337341</commentid>
    <comment_count>76</comment_count>
      <attachid>79581</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-20 07:55:15 -0800</bug_when>
    <thetext>Comment on attachment 79581
proposed patch

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

Zoltan fixed everything what David mentioned, except putting macros at the end of classes.
I think these macros should be at the top to get quick if a class is fast allocated or not.

Great work, r=me. Please be sure not to break any platform.

&gt; Source/JavaScriptCore/wtf/FastAllocBase.h:60
&gt;  // Example usage:
&gt; -//    class Widget : public FastAllocBase { ... };
&gt; +//    class Widget {
&gt; +//        WTF_MAKE_FAST_ALLOCATED
&gt; +//    ...
&gt; +//    };
&gt; +//
&gt; +//    struct Data {
&gt; +//        WTF_MAKE_FAST_ALLOCATED
&gt; +//    public:
&gt; +//    ...
&gt; +//    };

This documentation is should be enough for developers not to surprise 
at private struct members if they miss to use explicit public modifier.

Additionally please write a mail to webkit-dev about this change. (and maybe a wiki page too)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337386</commentid>
    <comment_count>77</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 09:12:37 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76248 might have broken Windows Debug (Build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337396</commentid>
    <comment_count>78</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-20 09:32:31 -0800</bug_when>
    <thetext>Patch landed in http://trac.webkit.org/changeset/76248
Qt-V8 buildfix landed in http://trac.webkit.org/changeset/76251
Mac and Win DRT buildfix landed in http://trac.webkit.org/changeset/76253</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337397</commentid>
    <comment_count>79</comment_count>
      <attachid>79581</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-20 09:33:12 -0800</bug_when>
    <thetext>Comment on attachment 79581
proposed patch

remove r+ from landed patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74534</attachid>
            <date>2010-11-22 01:59:13 -0800</date>
            <delta_ts>2010-11-23 04:10:47 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>fab1.patch</filename>
            <type>text/plain</type>
            <size>323191</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBjMjc0YWFkLi5kNDRkYWE5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjIgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQg
CisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1l
bnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiB3dGYv
RmFzdEFsbG9jQmFzZS5oOiBNb3ZlIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
biB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL05vbmNvcHlhYmxlLmggOiBSZW1vdmVkLiBO
b25jb3B5YWJsZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uJ3MgbW92ZWQgdG8gUGxhdGZvcm0uaAor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBBZGQgTm9uY29weWFibGUncyBhbmQgRmFzdEFsbG9j
QmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uLgorCiAyMDEwLTExLTE4ICBDaGFvLXlpbmcgRnUg
IDxmdUBtaXBzLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBDc2FiYSBPc3p0cm9nb27DoWMu
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBiL0phdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGY3ODA2YjQuLmQzNTQ5ZjAgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2Vm
aWxlLmFtCkBAIC00NjcsNyArNDY3LDYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJ
SmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1
ZXVlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25Db3B5aW5nU29ydC5oIFwKLQlKYXZhU2Ny
aXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL05vdEZvdW5k
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9OdWxsUHRyLmggXAogCUphdmFTY3JpcHRDb3JlL3d0
Zi9Pd25BcnJheVB0ci5oIFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCmluZGV4IGRlYjM2
ZmIuLmFkOTk3NTAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpAQCAtMzk4LDcgKzM5
OCw2IEBACiAgICAgICAgICAgICAnd3RmL01hdGhFeHRyYXMuaCcsCiAgICAgICAgICAgICAnd3Rm
L01lc3NhZ2VRdWV1ZS5oJywKICAgICAgICAgICAgICd3dGYvTm9uQ29weWluZ1NvcnQuaCcsCi0g
ICAgICAgICAgICAnd3RmL05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3Vu
ZC5oJywKICAgICAgICAgICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkZhc3RNYWxsb2NQdHIuaCcsCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKaW5kZXggN2MyNmE5Yy4uNjVhNmI5YyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9q
CisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJv
agpAQCAtNTk4LDEwICs1OTgsNiBAQAogCQkJPg0KIAkJPC9GaWxlPg0KIAkJPEZpbGUNCi0JCQlS
ZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb25jb3B5YWJsZS5oIg0KLQkJCT4NCi0JCTwvRmlsZT4N
Ci0JCTxGaWxlDQogCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcTm9uQ29weWluZ1NvcnQuaCIN
CiAJCQk+DQogCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTFlMWM1Yy4uMGE3MmM4MiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC00NDQsNyArNDQ0LDYgQEAKIAkJQkMxOEM0M0MwRTE2RjVDRDAw
QjM0NDYwIC8qIE1hdGhPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY2OTJBODZCMDI1NTU5N0QwMUZGNjBGNyAvKiBNYXRoT2JqZWN0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0M0Uw
RTE2RjVDRDAwQjM0NDYwIC8qIE1lc3NhZ2VRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRTc5OEIwRDZDQTUzRDAwRkVBM0JBIC8qIE1lc3Nh
Z2VRdWV1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NkUwMjU1NTk3RDAxRkY2MEY3IC8q
IE5vZGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKLQkJQkMxOEM0
NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzAzRjU2OTA5OTExOTAwMDBBRDcxQjggLyogTm9u
Y29weWFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlCQzE4QzQ0MTBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjY4MEMzMEUxNkQ0
RTkwMEEwNkU5MiAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oICovOyB9OwogCQlCQzE4QzQ0MjBFMTZG
NUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBFNjBFMTZENTIzMDBBMDZFOTIgLyog
TnVtYmVyQ29uc3RydWN0b3IubHV0LmggKi87IH07CiAJCUJDMThDNDQzMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY2OTJBODcxMDI1NTU5N0QwMUZGNjBGNyAvKiBOdW1iZXJPYmplY3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODc5LDcgKzg3
OCw2IEBACiAJCTkwNUIwMkFEMEUyODY0MEYwMDZERjg4MiAvKiBSZWZDb3VudGVkTGVha0NvdW50
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmQ291bnRlZExl
YWtDb3VudGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTBEMzQ2OUIwRTI4
NTI4MDAwOTQ5MkVFIC8qIFJlZkNvdW50ZWRMZWFrQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZWZDb3VudGVkTGVha0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTMwM0Y1NjcwOTkxMThGQTAwQUQ3MUI4IC8qIE93blB0ci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25QdHIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vbmNvcHlhYmxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25BcnJheVB0
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25BcnJheVB0ci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFy
c2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2Vy
QXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMzBGQjc5MjE5
MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGFyc2VyQXJlbmEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MjIsNyAr
MTUyMCw2IEBACiAJCQkJNTExRkM0Q0ExMTdFRTJBODAwNDI1MjcyIC8qIE1ENS5oICovLAogCQkJ
CUUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLywKIAkJCQk2NUUx
QTJGNDEyMkI4ODBEMDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCAqLywKLQkJCQk5MzAzRjU2
OTA5OTExOTAwMDBBRDcxQjggLyogTm9uY29weWFibGUuaCAqLywKIAkJCQlDMEEyNzIzRjBFNTA5
RjFFMDBFOTZFMTUgLyogTm90Rm91bmQuaCAqLywKIAkJCQk5MzNGNUNEQjEyNjkyMjY5MDA0OTE5
MUUgLyogTnVsbFB0ci5oICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25B
cnJheVB0ci5oICovLApAQCAtMjIxMSw3ICsyMjA4LDYgQEAKIAkJCQk3RUZGMDA2NDBFQzA1QTlB
MDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDNGMEUxNkY1
Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVFMUEzREYxMjJCODk0
NTAwQjI2MDk3IC8qIE5vbkNvcHlpbmdTb3J0LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQzE4QzQ0
MDBFMTZGNUNEMDBCMzQ0NjAgLyogTm9uY29weWFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMw
QTI3MjYzMEU1MEEwNjMwMEU5NkUxNSAvKiBOb3RGb3VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMxOEM0NDEwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzE4QzQ0MjBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3Iu
bHV0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJz
dHJhY3RNYWNyb0Fzc2VtYmxlci5oCmluZGV4IDFmYTVlYzcuLjQ0Mjc5NTcgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ29kZUxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiTWFjcm9B
c3NlbWJsZXJDb2RlUmVmLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKICNpZiBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCBiL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXggZTFkY2EwYi4uNDkyNDk0MSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIERV
TVBfQ09ERSAwCiAKICNpbmNsdWRlIDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNTAsNyArNDksOCBAQCBuYW1l
c3BhY2UgSlNDIHsKIC8vICAgKiBUaGUgYWRkcmVzcyBvZiBhIExhYmVsIHBvaW50aW5nIGludG8g
dGhlIGNvZGUgbWF5IGJlIHJlc29sdmVkLgogLy8gICAqIFRoZSB2YWx1ZSByZWZlcmVuY2VkIGJ5
IGEgRGF0YUxhYmVsIG1heSBiZSBzZXQuCiAvLwotY2xhc3MgTGlua0J1ZmZlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMaW5rQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMaW5rQnVmZmVyKTsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBDb2RlUmVm
OwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIENvZGVQdHI7CiAgICAgdHlwZWRl
ZiBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgTGFiZWw7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Jl
cGF0Y2hCdWZmZXIuaAppbmRleCA3MmNmNmIyLi5lNWE2ZTJkIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoQVNT
RU1CTEVSKQogCiAjaW5jbHVkZSA8TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKaW5kZXggNTRhY2Q1MC4uMjNlNjYzZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKQEAgLTI1NCw3ICsyNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9CiAjZW5kaWYK
IAotICAgIHN0cnVjdCBFeGNlcHRpb25JbmZvIDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0
IEV4Y2VwdGlvbkluZm8geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1
YmxpYzoKICAgICAgICAgVmVjdG9yPEV4cHJlc3Npb25SYW5nZUluZm8+IG1fZXhwcmVzc2lvbklu
Zm87CiAgICAgICAgIFZlY3RvcjxMaW5lSW5mbz4gbV9saW5lSW5mbzsKIApAQCAtMjYzLDcgKzI2
NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAgICAgfTsKIAotICAgIGNsYXNzIENvZGVC
bG9jayA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBDb2RlQmxvY2sgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwog
ICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG93bmVy
RXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxTb3VyY2VQ
cm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxl
LCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTg2LDcgKzU4OSwxMCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgICAgICBPd25QdHI8RXhjZXB0aW9uSW5mbz4gbV9leGNlcHRpb25JbmZvOwogCi0g
ICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHB1YmxpYzoKKyAg
ICAgICAgc3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFZlY3RvcjxIYW5kbGVySW5mbz4gbV9l
eGNlcHRpb25IYW5kbGVyczsKIAogICAgICAgICAgICAgLy8gUmFyZSBDb25zdGFudHMKQEAgLTYw
Myw2ICs2MDksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIFZlY3RvcjxGdW5jdGlv
blJlZ2lzdGVySW5mbz4gbV9mdW5jdGlvblJlZ2lzdGVySW5mb3M7CiAjZW5kaWYKICAgICAgICAg
fTsKKyAgICBwcml2YXRlOgogICAgICAgICBPd25QdHI8UmFyZURhdGE+IG1fcmFyZURhdGE7CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24u
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKaW5kZXggYzY0NjhhNS4u
OTU2NzkzZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24u
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCkBAIC01NCw3ICs1
NCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFN0cnVjdHVyZUNoYWluOwogCiAgICAg
Ly8gU3RydWN0dXJlIHVzZWQgYnkgb3BfZ2V0X2J5X2lkX3NlbGZfbGlzdCBhbmQgb3BfZ2V0X2J5
X2lkX3Byb3RvX2xpc3QgaW5zdHJ1Y3Rpb24gdG8gaG9sZCBkYXRhIG9mZiB0aGUgbWFpbiBvcGNv
ZGUgc3RyZWFtLgotICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QgOiBG
YXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAg
IHN0cnVjdCBQb2x5bW9ycGhpY1N0dWJJbmZvIHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFpbjsK
ICAgICAgICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5lVHlw
ZSBzdHViUm91dGluZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBs
aW5nVG9vbC5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKaW5kZXgg
OGUzZWQ5ZS4uOWNhNTRkYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2Ft
cGxpbmdUb29sLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgK
QEAgLTE0Miw3ICsxNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgZnJpZW5kIGNsYXNz
IEhvc3RDYWxsUmVjb3JkOwogICAgICAgICAKICNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQot
ICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
Y2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxs
UmVjb3JkKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGlu
Z1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAgICAgICAgICAgICA6IG1fc2FtcGxpbmdUb29sKHNh
bXBsaW5nVG9vbCkKQEAgLTE3Miw3ICsxNzMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCopCiAgICAgICAgICAgICB7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDQ5OWQy
MzIuLmQ0Y2E4NTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oCkBAIC04NSw3ICs4NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBS
ZWZQdHI8UmVnaXN0ZXJJRD4gcHJvcGVydHlSZWdpc3RlcjsKICAgICB9OwogCi0gICAgY2xhc3Mg
Qnl0ZWNvZGVHZW5lcmF0b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQnl0
ZWNvZGVHZW5lcmF0b3IgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3Rh
Y2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVu
Y3Rpb25TdGFjazsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdp
c3RlcklELmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCmluZGV4
IDM1MzJhZDguLjc4ZDQ5ZDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9SZWdpc3RlcklELmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVy
SUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3Mg
UmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJJRCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBkZmJlNjU4Li4zYzg4YmFjIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCkBAIC0zMiw3ICszMiw4IEBA
CiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7Ci0gICAgY2xhc3Mg
Q2FjaGVkQ2FsbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FjaGVkQ2FsbCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZENhbGwpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ2FjaGVkQ2FsbChDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNGdW5jdGlvbiogZnVuY3Rpb24sIGludCBhcmdDb3VudCkKICAgICAgICAgICAg
IDogbV92YWxpZChmYWxzZSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5o
CmluZGV4IDJiYzQwM2UuLmMxZTJmOWEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuaApAQCAtNjUsNyArNjUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0g
eyBNYXhMYXJnZVRocmVhZFJlZW50cnlEZXB0aCA9IDI1NiwgTWF4U21hbGxUaHJlYWRSZWVudHJ5
RGVwdGggPSAzMiB9OwogCi0gICAgY2xhc3MgSW50ZXJwcmV0ZXIgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgSW50ZXJwcmV0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwogICAgICAgICBmcmllbmQgY2xhc3Mg
Q2FjaGVkQ2FsbDsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIu
aAppbmRleCAzOGQxNjQ3Li40YTZjZTU4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lz
dGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ3LDcgKzQ2
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0eXBlZGVmIEV4ZWNTdGF0ZSBDYWxsRnJhbWU7
CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1YmxpYyBXVEY6OkZhc3RBbGxvY0Jhc2UgeworICAg
IGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
UmVnaXN0ZXJGaWxlLmgKaW5kZXggZDlmNmEyYi4uNjgyMjAzNSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJS
ZWdpc3Rlci5oIgogI2luY2x1ZGUgIldlYWtHQ1B0ci5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlv
bi5oPgogI2luY2x1ZGUgPHd0Zi9WTVRhZ3MuaD4KIApAQCAtODksNyArODgsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0
ZXJGaWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmll
bmQgY2xhc3MgSklUOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJF
bnRyeSB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDRkMjUxM2QuLjE3ZjlmMTEgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xh
c3MgUmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGV4ZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gQ2hhcmFjdGVyIG1h
bmlwdWxhdGlvbiBmdW5jdGlvbnMuCiAgICAgICAgIHN0YXRpYyBib29sIGlzV2hpdGVTcGFjZShp
bnQgY2hhcmFjdGVyKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5o
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggNjkzMGY2My4uZjNhM2Q0ZCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTExMyw2ICsxMTMsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB9OwogCiAgICAgY2xhc3MgUGFyc2VyQXJlbmFSZWZDb3VudGVkIDogcHVibGljIFJlZkNv
dW50ZWQ8UGFyc2VyQXJlbmFSZWZDb3VudGVkPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHJvdGVjdGVkOgogICAgICAgICBQYXJzZXJBcmVuYVJlZkNvdW50ZWQoSlNH
bG9iYWxEYXRhKik7CiAKQEAgLTEzNzQsNyArMTM3NSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBQYXJhbWV0ZXJOb2RlKiBtX25leHQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBTY29wZU5v
ZGVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFNjb3BlTm9kZURhdGEgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRl
ZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYg
RGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKIApAQCAtMTQ3
MCw2ICsxNDczLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0
aW9uUGFyYW1ldGVycyA6IHB1YmxpYyBWZWN0b3I8SWRlbnRpZmllcj4sIHB1YmxpYyBSZWZDb3Vu
dGVkPEZ1bmN0aW9uUGFyYW1ldGVycz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RnVuY3Rpb25QYXJhbWV0
ZXJzPiBjcmVhdGUoUGFyYW1ldGVyTm9kZSogZmlyc3RQYXJhbWV0ZXIpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBGdW5jdGlvblBhcmFtZXRlcnMoZmlyc3RQYXJhbWV0ZXIpKTsgfQogCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmgKaW5kZXggNjU0OTA2Ny4uY2NhOTZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
aApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlBhcnNlckFyZW5hLmgiCiAjaW5jbHVkZSAi
U291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAKQEAgLTQ1LDggKzQ0LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXJzZXJBcmVuYURhdGEgOiBQYXJzZXJBcmVuYURl
bGV0YWJsZSB7IFQgZGF0YTsgfTsKIAotICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFBh
cnNlcigpIHsgfQogICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUGFyc2VkTm9kZT4KICAgICAgICAg
UGFzc1JlZlB0cjxQYXJzZWROb2RlPiBwYXJzZShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRGVidWdnZXIqLCBFeGVjU3RhdGUqLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2Us
IEZ1bmN0aW9uUGFyYW1ldGVycyosIEpTUGFyc2VyU3RyaWN0bmVzcyBzdHJpY3RuZXNzLCBKU09i
amVjdCoqIGV4Y2VwdGlvbik7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJBcmVuYS5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKaW5kZXgg
N2MxODA5ZS4uN2NiNTc1MCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ckFyZW5hLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKQEAgLTM0
LDcgKzM0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFEZWxldGFi
bGU7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFSZWZDb3VudGVkOwogCi0gICAgY2xhc3MgSWRlbnRp
ZmllckFyZW5hIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElkZW50aWZpZXJB
cmVuYSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBBTFdBWVNfSU5MSU5FIGNvbnN0IElkZW50aWZpZXImIG1ha2VJZGVudGlmaWVyKEpTR2xv
YmFsRGF0YSosIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKTsKICAgICAg
ICAgY29uc3QgSWRlbnRpZmllciYgbWFrZU51bWVyaWNJZGVudGlmaWVyKEpTR2xvYmFsRGF0YSos
IGRvdWJsZSBudW1iZXIpOwpAQCAtNTksNyArNjAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgcmV0dXJuIG1faWRlbnRpZmllcnMubGFzdCgpOwogICAgIH0KIAotICAgIGNsYXNzIFBhcnNl
ckFyZW5hIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlckFyZW5hIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2VyQXJlbmEpOwogICAgIHB1YmxpYzoKICAgICAgICAg
UGFyc2VyQXJlbmEoKTsKICAgICAgICAgflBhcnNlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVf
ZXhlYy5jcHAKaW5kZXggZjQ4OTlmMi4uOGU5ODYzOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcGNyZS9wY3JlX2V4ZWMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVj
LmNwcApAQCAtMTEyLDcgKzExMiw5IEBAIHN0cnVjdCBCcmFja2V0Q2hhaW5Ob2RlIHsKICAgICBj
b25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAotc3RydWN0IE1hdGNoRnJhbWUgOiBGYXN0
QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIFJldHVybkxvY2F0aW9uIHJldHVybkxvY2F0aW9uOwogICAgIHN0
cnVjdCBNYXRjaEZyYW1lKiBwcmV2aW91c0ZyYW1lOwogICAgIApkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaCBiL0phdmFTY3JpcHRDb3JlL3Byb2Zp
bGVyL0NhbGxJZGVudGlmaWVyLmgKaW5kZXggNTQ4NzIwOWYuLjczNDE2NDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllciA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKKyAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgVVN0cmluZyBtX25hbWU7CiAgICAg
ICAgIFVTdHJpbmcgbV91cmw7CiAgICAgICAgIHVuc2lnbmVkIG1fbGluZU51bWJlcjsKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmggYi9KYXZhU2NyaXB0Q29y
ZS9wcm9maWxlci9Qcm9maWxlci5oCmluZGV4IDRiOGI0YTAuLjkwY2YzNGMgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
cHJvZmlsZXIvUHJvZmlsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICBjbGFzcyBVU3RyaW5nOwogICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllcjsgICAgCiAKLSAgICBj
bGFzcyBQcm9maWxlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQcm9maWxl
ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgUHJvZmlsZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNjMjAgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJnTGlzdC5oCkBAIC0yNSwxNCArMjUsMTQgQEAKICNpbmNsdWRlICJDYWxsRnJh
bWUuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNzIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrZWRB
cmd1bWVudEJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZEFyZ3Vt
ZW50QnVmZmVyKTsKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
aW5saW5lQ2FwYWNpdHkgPSA4OwogICAgICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlciwgaW5s
aW5lQ2FwYWNpdHk+IFZlY3RvclR5cGU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FyZ3VtZW50cy5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRl
eCA3MTVhMmFjLi45Mjk2MDA4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
Z3VtZW50cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMz
LDcgKzMzLDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0Rh
dGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKKyAgICBwdWJsaWM6CisgICAgICAgIEFyZ3VtZW50c0RhdGEoKSB7IH0KICAgICAgICAgSlNB
Y3RpdmF0aW9uKiBhY3RpdmF0aW9uOwogCiAgICAgICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnM7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0
aW1pemVyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1p
emVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaApAQCAtMjcsMTIgKzI3LDEyIEBA
CiAjaWZuZGVmIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKICNkZWZpbmUgQmF0Y2hlZFRy
YW5zaXRpb25PcHRpbWl6ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSAiSlNPYmplY3QuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBCYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQmF0
Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShC
YXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcik7CiAgICAgcHVibGljOgogICAgICAgICBCYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplcihKU09iamVjdCogb2JqZWN0KQogICAgICAgICAgICAgOiBtX29i
amVjdChvYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rv
ci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAppbmRleCAyMzdjMTM5Li45
M2VkZjA0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKQEAgLTMwLDcgKzMwLDYgQEAK
ICNpbmNsdWRlIDx3dGYvRml4ZWRBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNl
dC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYWdlQWxsb2NhdGlv
bi5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC04Nyw3ICs4Niw4IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICB9CiAgICAgfTsKIAotICAgIGNsYXNzIEhlYXAgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIEhlYXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIZWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGNsYXNzIFRocmVhZDsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFlMjJiNmEuLmYxN2Uy
NDQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgQ29tbW9uSWRlbnRpZmllcnNfaAogCiAjaW5jbHVkZSAiSWRl
bnRpZmllci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBNYXJrZWRBcmd1
bWVudEJ1ZmZlciBvZiBwcm9wZXJ0eSBuYW1lcywgcGFzc2VkIHRvIGEgbWFjcm8gc28gd2UgY2Fu
IGRvIHNldCB0aGVtIHVwIHZhcmlvdXMKIC8vIHdheXMgd2l0aG91dCByZXBlYXRpbmcgdGhlIGxp
c3QuCkBAIC04NCw3ICs4Myw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQ29t
bW9uSWRlbnRpZmllcnMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbW1vbklk
ZW50aWZpZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29tbW9uSWRlbnRpZmll
cnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAgIENvbW1v
bklkZW50aWZpZXJzKEpTR2xvYmFsRGF0YSopOwogICAgICAgICBmcmllbmQgY2xhc3MgSlNHbG9i
YWxEYXRhOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2VD
YWNoZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2VDYWNoZS5oCmluZGV4
IGI2MGMyOWEuLmQ4NDk2ODQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZUluc3RhbmNlQ2FjaGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5j
ZUNhY2hlLmgKQEAgLTM3LDYgKzM3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBE
YXRlSW5zdGFuY2VEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8RGF0ZUluc3RhbmNlRGF0YT4gewog
ICAgIHB1YmxpYzoKKwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlSW5zdGFuY2VEYXRh
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRGF0ZUluc3RhbmNlRGF0YSk7IH0KIAog
ICAgICAgICBkb3VibGUgbV9ncmVnb3JpYW5EYXRlVGltZUNhY2hlZEZvck1TOwpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmgKaW5kZXggN2Q0OTI5ZC4uNzM2M2FmOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Vs
bC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgIk1h
cmtTdGFjay5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oCmluZGV4IDkzYTFiODguLjM0Yzg2ZDYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmgKQEAgLTQ2NCw3ICs0NjQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgcmV0dXJuIG5ldyAoZXhlYykgSlNBcnJheShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCktPmFycmF5U3RydWN0dXJlKCksIHZhbHVlcyk7CiAgICAgfQogCi0gICAgY2xhc3MgRHluYW1p
Y0dsb2JhbE9iamVjdFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEeW5h
bWljR2xvYmFsT2JqZWN0U2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEeW5h
bWljR2xvYmFsT2JqZWN0U2NvcGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRHluYW1pY0dsb2Jh
bE9iamVjdFNjb3BlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbE9iamVjdCogZHluYW1p
Y0dsb2JhbE9iamVjdCkgCiAgICAgICAgICAgICA6IG1fZHluYW1pY0dsb2JhbE9iamVjdFNsb3Qo
Y2FsbEZyYW1lLT5nbG9iYWxEYXRhKCkuZHluYW1pY0dsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTG9jay5oCmluZGV4IDA1YjM4OGMuLjY0ZDdhNGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNMb2NrLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2su
aApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBKU0xvY2tfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpT
QyB7CiAKQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIEpTTG9j
a0JlaGF2aW9yIHsgU2lsZW5jZUFzc2VydGlvbnNPbmx5LCBMb2NrRm9yUmVhbCB9OwogCi0gICAg
Y2xhc3MgSlNMb2NrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBKU0xvY2sgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0xvY2spOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSlNMb2NrKEV4ZWNTdGF0ZSopOwogICAgICAgICBKU0xvY2soSlNHbG9iYWxEYXRhKik7CkBA
IC04OSw3ICs4OSw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTTG9ja0JlaGF2aW9y
IG1fbG9ja0JlaGF2aW9yOwogCi0gICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEcm9wQWxsTG9ja3MpOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBEcm9wQWxsTG9ja3MoRXhlY1N0YXRlKiBleGVjKTsKICAgICAgICAgICAgIERyb3BB
bGxMb2NrcyhKU0xvY2tCZWhhdmlvcik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNw
cAppbmRleCBiNTQ3N2ExLi4wYjcyMmIyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVj
dC5jcHAKQEAgLTcwLDcgKzcwLDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIEpTVmFsdWUgbV92
YWx1ZTsKIH07CiAKLWNsYXNzIFN0cmluZ2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFN0cmluZ2lmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdpZmllcik7
CiBwdWJsaWM6CiAgICAgU3RyaW5naWZpZXIoRXhlY1N0YXRlKiwgSlNWYWx1ZSByZXBsYWNlciwg
SlNWYWx1ZSBzcGFjZSk7CiAgICAgflN0cmluZ2lmaWVyKCk7CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAu
aAppbmRleCA5YmM4MWQ0Li5hZjE5MzhiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xvb2t1cC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAgLTUz
LDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYyBHZXRGdW5jdGlvbjsKICAgICB0eXBlZGVmIHZvaWQgKCpQdXRGdW5jdGlvbiko
RXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgdmFsdWUpOwogCi0gICAg
Y2xhc3MgSGFzaEVudHJ5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hF
bnRyeSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFyIGF0dHJp
YnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXJrU3RhY2suaAppbmRleCBjNTUxYmFjLi45ZjFmMDcyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTWFya1N0YWNrLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgTWFya1N0YWNrX2gK
IAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
CiAgICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051
bGxWYWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0
YWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikK
ICAgICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1
Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVj
dG9yUHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3Rv
clByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoK
ICAgICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4
cENvbnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygw
KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2Yy
YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEo
Q2FsbERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxv
Y0Jhc2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1Ymxp
YzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhw
PiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVn
RXhwKQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uY2QyMzgzNiAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TY29wZUNoYWluLmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
Y2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hhaW5JdGVyYXRvcjsKICAgICAKLSAg
ICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSogbmV4dCwgSlNP
YmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAgIDogbmV4dChu
ZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3Mjcu
LmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNT
dHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAgc3RhdGljIGlu
bGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZyAm
JiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsKIHB1YmxpYzoK
ICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3Ry
aW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21h
bGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3Mg
TWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFzcyBT
bWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNtYWxsU3RyaW5n
cyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTbWFsbFN0cmluZ3MoKTsKICAg
ICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCmlu
ZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgK
QEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIEhhc2hNYXA8
UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5LCBJZGVudGlmaWVyUmVwSGFzaCwg
SGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3ltYm9sVGFibGVJbmRleEhhc2hUcmFp
dHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVkU3ltYm9sVGFibGUgOiBwdWJsaWMg
U3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlZFN5bWJvbFRhYmxlPiB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9X
ZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlNDZWxsOwogCiAvLyBBIEhhc2hNYXAg
d2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3YWl0
aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFw
cGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAvKgogICAgIElu
dmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMgdGhlIFdlYWtHQ01hcCBtYXJrZWQu
IChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCmluZGV4
IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMjgs
MTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3IuaCIKICNpbmNsdWRlICJHQ0hhbmRs
ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAog
Ly8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMgMCBmb3IgY2Vs
bHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vh
a0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtH
Q1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vha0dDUHRyKTsKIHB1YmxpYzoKICAg
ICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jv
c3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFsIGFuZCBhbnkg
b3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkKICAgICAvLyBv
d25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAgICAgdGVtcGxh
dGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291bnRlZCk7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVhZFJlZkNvdW50ZWQ8VD4gPiBjcmVh
dGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Rh
dGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCBiZTUxOTQ3Li40
MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUg
PHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFy
YW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyArMTA4LDkgQEAgZG91YmxlIHBhcnNl
RGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiwgY29uc3QgY2hhciog
ZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVycmlkZGluZyB0aGUgZGVmYXVsdCB0
bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9uIHZhcmlvdXMg
b3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBHcmVnb3JpYW5EYXRlVGltZSgpCiAg
ICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRlKDApCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCmluZGV4
IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIERlcXVlQ29uc3RSZXZl
cnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIERlcXVl
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIERlcXVlIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJ
dGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8
VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFs
bG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAppbmRleCBiYjE4
MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFz
ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAgLTMyLDggKzMy
LDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFzdE1hbGxvYy9m
YXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVkIGZ1bmN0aW9u
YWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8vICAgIG5hbWVz
cGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwogLy8gICAgICAg
IFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KGFyZyk7CkBA
IC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhlIHVuZGVybHlp
bmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAvLyAgICBjaGFy
KiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShjaGFyUHRyKTsK
QEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi0jZGVmaW5lIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXpl
X3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNp
emVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9y
IG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZh
c3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0
ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAg
ICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2
b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0
ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKLSAgICAgICAg
OjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9y
IG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6
ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRh
dGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAot
ICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRl
bGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0
Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5
KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi1wcml2YXRlOgot
Ci1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCAgCi19
OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RBbGxvY0Jhc2UgewogCiB9IC8vIG5h
bWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NCYXNlOwogdXNpbmcgV1RGOjpmYXN0
RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYgLy8gRmFzdEFsbG9jQmFzZV9oCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRlZDc1YzUuLmUyZjgyNmUgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yOSw3ICsyOSw4IEBACiBuYW1lc3BhY2Ug
V1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rp
b25zID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFt
ZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRz
PFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVu
c2lnbmVkLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaE1hcC5oCmluZGV4IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApA
QCAtMjksNyArMjksOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUg
RGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJn
ID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJh
aXRzPE1hcHBlZEFyZz4gPgotICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgSGFzaE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwog
ICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hT
ZXQuaAppbmRleCA2NjYzOWU0Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcg
KzM1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IElkZW50aXR5RXh0cmFjdG9yOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5
cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0g
ICAgICAgIHR5cGVuYW1lIFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3Mg
SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRz
QXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hB
cmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVj
dCBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVB
cmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RI
YXNoU2V0Tm9kZUhhc2hGdW5jdGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFy
Zywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5h
bWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVs
dEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFz
aFNldE5vZGU8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVm
IExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVB
bGxvY2F0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9M
b2NrZXIuaApAQCAtMjgsMTEgKzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExv
Y2tlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7
CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9ja2VyKTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDog
bV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIo
KSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9NZXNzYWdlUXVldWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAppbmRl
eCAxNDEwMGM5Li5kN2Q1NzEyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCkBAIC0zMyw3
ICszMyw2IEBACiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTQ4LDcgKzQ3
LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gd2hlbiBtZXNzYWdlcyBhcmUgZmV0Y2hlZCBm
cm9tIHRoZSBxdWV1ZS4KICAgICAvLyBFc3NlbnRpYWxseSwgTWVzc2FnZVF1ZXVlIGFjdHMgYXMg
YSBxdWV1ZSBvZiBPd25QdHI8RGF0YVR5cGU+LgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFU
eXBlPgotICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWVzc2FnZVF1ZXVlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2Fn
ZVF1ZXVlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQo
ZmFsc2UpIHsgfQogICAgICAgICB+TWVzc2FnZVF1ZXVlKCk7CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODVlZDJlLi4wMDAwMDAwCi0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjMg
KzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXVEZfTm9uY29weWFibGVf
aAotI2RlZmluZSBXVEZfTm9uY29weWFibGVfaAotCi0jaWZuZGVmIF9faGFzX2ZlYXR1cmUKLSAg
ICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAotI2VuZGlmCi0KLSNpZiBfX2hhc19mZWF0dXJl
KGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKLSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxF
KENsYXNzTmFtZSkgXAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHB1c2giKSBc
Ci0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XdW5rbm93bi1w
cmFnbWFzXCIiKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBc
Ii1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAotICAgICAgICBwcml2YXRlOiBcCi0gICAgICAgICAg
ICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKLSAgICAgICAgICAgIENs
YXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCi0gICAgICAg
IF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9wIikKLSNlbHNlCi0gICAgI2RlZmluZSBXVEZf
TUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKLSAgICAgICAgcHJpdmF0ZTogXAotICAgICAg
ICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpOyBcCi0gICAgICAgICAgICBDbGFzc05h
bWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKQotI2VuZGlmCi0KLS8vIFdlIGRvbid0IHdh
bnQgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cCB0byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0
aGUgV1RGCi0vLyBuYW1lc3BhY2Ugd2hlbiB5b3UgdXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQg
aW4gaXRzIG93biBuYW1lc3BhY2UuCi0KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5h
bWVzcGFjZSBXVEZOb25jb3B5YWJsZSB7Ci0KLSAgICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKLSAgICAgICAgTm9uY29weWFibGUoY29uc3QgTm9uY29weWFibGUm
KTsKLSAgICAgICAgTm9uY29weWFibGUmIG9wZXJhdG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwot
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgTm9uY29weWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNv
cHlhYmxlKCkgeyB9Ci0gICAgfTsKLQotfSAvLyBuYW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQot
dXNpbmcgV1RGTm9uY29weWFibGU6Ok5vbmNvcHlhYmxlOwotCi0jZW5kaWYgLy8gV1RGX05vbmNv
cHlhYmxlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKaW5kZXggNjQzYjkwYi4uY2Q2NGVkYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgV1RG
X093bkFycmF5UHRyX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25j
b3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIuaCIKICNpbmNsdWRlICJPd25BcnJheVB0ckNv
bW1vbi5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KQEAgLTM1LDcgKzM0LDcgQEAgbmFtZXNwYWNl
IFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duQXJyYXlQdHI7CiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQdHI8VD4gYWRvcHRBcnJheVB0cihUKik7CiAK
LXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0ciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgewogcHVibGlj
OgogICAgIHR5cGVkZWYgVCogUHRyVHlwZTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9j
UHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1h
bGxvY1B0ci5oCkBAIC0yMywxMSArMjMsMTEgQEAKICNkZWZpbmUgT3duRmFzdE1hbGxvY1B0cl9o
CiAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAog
bmFtZXNwYWNlIFdURiB7CiAKLSAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFs
bG9jUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFz
cyBPd25GYXN0TWFsbG9jUHRyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3duRmFz
dE1hbGxvY1B0cik7CiAgICAgcHVibGljOgogICAgICAgICBleHBsaWNpdCBPd25GYXN0TWFsbG9j
UHRyKFQqIHB0cikgOiBtX3B0cihwdHIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25QdHIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAppbmRleCBj
ZGMyNzdjLi5mYjU5NDMyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVm
aW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5v
bmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93blB0ckNvbW1v
bi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIKQEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0cjsKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRyPFQ+IGFkb3B0UHRyKFQqKTsKIAotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIHsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9pbnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7CiAg
ICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRl
eCAyOTY5MWI2Li4xMTFlODE0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApAQCAtMTEyMyw1ICsxMTIz
LDYxIEBACiAjaW5jbHVkZSAiR1R5cGVkZWZzLmgiCiAjZW5kaWYKIAorLyogTm9uY29weWFibGUn
cyBpbXBsZW1lbnRhdGlvbiBhcyBhIG1hY3JvICovCisKKyNpZm5kZWYgX19oYXNfZmVhdHVyZQor
ICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCisjZW5kaWYKKworI2lmIF9faGFzX2ZlYXR1
cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIp
IFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd1bmtub3du
LXByYWdtYXNcIiIpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVk
IFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCisgICAgICAgIHByaXZhdGU6IFwKKyAgICAgICAg
ICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAorICAgICAgICAgICAg
Q2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKKyAgICAg
ICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQorI2Vsc2UKKyAgICAjZGVmaW5lIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAorICAgICAgICBwcml2YXRlOiBcCisgICAg
ICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKKyAgICAgICAgICAgIENsYXNz
TmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCisjZW5kaWYKKworLyogUHJvdmlkZXMg
Y3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBvcGVyYXRvciBuZXcvZGVsZXRlICovCisKKyNkZWZp
bmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAorcHVibGljOiBcCisgICAgdm9pZCogb3BlcmF0
b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCisgICAgdm9pZCogb3BlcmF0
b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKKyAgICBcCisgICAgdm9p
ZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBcCisgICAgeyBcCisgICAgICAgIHZvaWQqIHAg
PSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAorICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NN
YXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcp
OyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAgfSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0
b3IgZGVsZXRlKHZvaWQqIHApIFwKKyAgICB7IFwKKyAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NN
YXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsg
XAorICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9p
ZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUpIFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCog
cCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9j
TWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3
QXJyYXkpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAgfSBcCisgICAgXAorICAgIHZvaWQg
b3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICAgOjpXVEY6OmZh
c3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNs
YXNzTmV3QXJyYXkpOyBcCisgICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKKyAgICB9IFwK
K3ByaXZhdGU6CisKICNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwogCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNv
dW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgK
QEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAKICNpbmNsdWRlICJBc3Nl
cnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0QWxsb2NC
YXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMxLDggQEAgaW5saW5lIHZv
aWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5kaWYKIAotdGVtcGxhdGU8
dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50ZWQg
OiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZkNv
dW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZvaWQgZGVyZWYo
KQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6
CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkKICAgICB7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLjVmYzRkNzAgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKQEAg
LTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICBlbnVtIEhhc2hUYWJsZURlbGV0
ZWRWYWx1ZVR5cGUgeyBIYXNoVGFibGVEZWxldGVkVmFsdWUgfTsKIAotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoKSA6IG1f
cHRyKDApIHsgfQogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIpIDogbV9wdHIo
cHRyKSB7IHJlZklmTm90TnVsbChwdHIpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRySGFzaE1hcC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaApp
bmRleCA3ZjZlYmZlLi4yMjUxZmQ4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
UHRySGFzaE1hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKQEAg
LTQyLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUg
S2V5VHJhaXRzQXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmc+Ci0gICAgY2xhc3MgSGFzaE1h
cDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFp
dHNBcmc+IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRy
PFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAgICAgICAg
dHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRy
YWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElk
ZW50aWZpZXJEYXRhUHRocmVhZHMuaAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMx
LDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNk
ZWZpbmUgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewogCiAvLyBIb2xkcyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3Rv
cmFnZSBhbmQgZW1wbG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8g
cmVsaWFibHkgcmVtb3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBh
c3N1bWVzIHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBh
c3MgZGVzdHJ1Y3Rpb24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGhyZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVu
dGlmaWVyRGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2Fm
ZVNoYXJlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAppbmRleCAz
M2M2NjEyLi4xMzEyOTAwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2Fm
ZVNoYXJlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKQEAg
LTYyLDEyICs2MiwxMiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYv
QXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBUaHJlYWRT
YWZlU2hhcmVkQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRTYWZlU2hh
cmVkQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU2FmZVNoYXJlZEJhc2Up
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRocmVhZFNhZmVTaGFyZWRC
YXNlKGludCBpbml0aWFsUmVmQ291bnQgPSAxKQogICAgICAgICA6IG1fcmVmQ291bnQoaW5pdGlh
bFJlZkNvdW50KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmlj
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaAppbmRleCA5M2VkNDY2Li4x
MTM3YmQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApAQCAtNDEsNyArNDEsNiBA
QAogI2lmbmRlZiBXVEZfVGhyZWFkU3BlY2lmaWNfaAogI2RlZmluZSBXVEZfVGhyZWFkU3BlY2lm
aWNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMp
CiAjaW5jbHVkZSA8cHRocmVhZC5oPgpAQCAtNjEsNyArNjAsOCBAQCBuYW1lc3BhY2UgV1RGIHsK
IHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJlYWRTcGVjaWZpYygp
OwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg0LDkgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRIUkVBRFMpIHx8IFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0gICAgc3RydWN0IERh
dGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEoVCogdmFsdWUsIFRo
cmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVyKG93bmVyKSB7fQog
I2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRlc3Ryb3kodGhpcyk7
IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCmluZGV4IGYyYzBjYWQu
LmQ3Mjk5NmEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dp
bi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcApAQCAt
MjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAiVGhyZWFkU3Bl
Y2lmaWMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFVTRShQVEhSRUFE
UykKICNlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBieSBwb3J0cyB0aGF0
IGRvIG5vdCB1c2UgV2luZG93cyBuYXRpdmUgVGhyZWFkU3BlY2lmaWMgaW1wbGVtZW50YXRpb24u
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLjcyYWU1ZTUgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC0zMCw3ICszMCw5IEBACiAKIG5hbWVzcGFjZSBXVEYgewog
Ci1zdHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE5ld1Ro
cmVhZENvbnRleHQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAg
TmV3VGhyZWFkQ29udGV4dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lkKiBkYXRhLCBj
b25zdCBjaGFyKiBuYW1lKQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQb2ludCkKICAgICAg
ICAgLCBkYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKaW5kZXggMDQ0MzY1Zi4uZGFlYTE4
ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaApAQCAtNjYsNyArNjYsNiBAQAogI2luY2x1ZGUgPHd0
Zi9BdG9taWNzLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2tlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZFNhZmVTaGFyZWQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgog
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaAppbmRleCBjMTFhNmNiLi4y
Y2Q1NzU0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZl
cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKQEAgLTM1
LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3Rm
L0xvY2tlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgT1MoV0lORE9X
UykKICNpbmNsdWRlIDx3aW5kb3dzLmg+CkBAIC05Niw3ICs5NSw4IEBAIHR5cGVkZWYgdm9pZCog
UGxhdGZvcm1SZWFkV3JpdGVMb2NrOwogdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybUNvbmRpdGlvbjsK
ICNlbmRpZgogICAgIAotY2xhc3MgTXV0ZXggOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TXV0ZXggeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE11dGV4KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpAQCAtMTEzLDcg
KzExMyw4IEBAIHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRleExvY2tlcjsK
IAotY2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFk
V3JpdGVMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKIHB1
YmxpYzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2soKTsKQEAgLTEz
MCw3ICsxMzEsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9jayBtX3JlYWRX
cml0ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
aHJlYWRDb25kaXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5U
aHJlYWRDb25kaXRpb24oKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3Iu
aCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaAppbmRleCBmNzM3OTNmLi5jMWI2YmE0IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1ZlY3Rvci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9WZWN0b3JfaAog
CiAjaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAj
aW5jbHVkZSAiTm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRl
ICJWYWx1ZUNoZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
fTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAg
ICAgIHsKQEAgLTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFz
cyBWZWN0b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBl
ZGVmIFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBl
ZGVmIFZlY3RvclR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9X
VEZUaHJlYWREYXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RG
VGhyZWFkRGF0YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUo
V09SS0VSUykgaW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxp
bmcgSlNDLgpAQCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNo
TWFwPGNvbnN0IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+
ID4gTGl0ZXJhbElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAt
ODQsNyArODQsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgq
QXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFz
cyBXVEZUaHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgog
ICAgIFdURlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3Bw
CmluZGV4IGM4OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9k
dG9hLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQs
MTAgQEAgc3RhdGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikK
ICAgICBhUmVmID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVj
dCBQNU5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsK
ICAgICBQNU5vZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dv
YmplY3QvR093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmlu
ZGV4IGNlYzNlNDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2Jq
ZWN0L0dPd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgK
QEAgLTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYv
QXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMi
IHZvaWQgZ19mcmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQg
ZnJlZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2
b2lkIGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25l
ZEdQdHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3du
UHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBH
T3duUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093
blB0cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3Ry
aW5nQnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3Rl
eHQvU3RyaW5nQnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZm
ZXJfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGlt
aXRzPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3RyaW5nQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5z
aWduZWQgbGVuZ3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93
dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAj
aWZuZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5o
PgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBib29sIGlzU3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3Jl
ZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5n
SW1wbDsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9
CkBAIC00NSw5ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAg
IH07CiAKLSAgICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9w
ZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1
cm4gaW5QbGFjZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxs
b2NhdGVzIGFuIGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBs
QmFzZSgpIHsgfQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xs
YXRvci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZh
ODA5Li41YWIzNDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xs
YXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9y
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4
IEBAIHN0cnVjdCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29s
bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIg
PSAxLCBMZXNzID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eEludGVycHJldGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApp
bmRleCBkYWU4ZjlkLi5mYTU2YWE4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1Jl
Z2V4SW50ZXJwcmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0
ZXIuaApAQCAtMzA2LDcgKzMwNiw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAot
Y2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IEJ5dGVEaXNqdW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVT
aXplKQogICAgICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTks
NyArMzIwLDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3Ry
dWN0IEJ5dGVjb2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0
dGVybiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29k
ZVBhdHRlcm4oUGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlz
anVuY3Rpb24qPiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVt
cFBvaW50ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAg
ICAgICAgLCBtX2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9S
ZWdleFBhdHRlcm4uaAppbmRleCBiZTMxZmNkLi4xYjIzMThmIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVn
ZXhQYXR0ZXJuLmgKQEAgLTczLDcgKzczLDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1
Y3QgQ2hhcmFjdGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFz
cyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hh
cmFjdGVyQ2xhc3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hl
cyBhbmQgcmFuZ2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9y
IGZhc3RlciBsb29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBt
YXRjaGVzIGFuZCByYW5nZXMpCkBAIC0yMDUsNyArMjA3LDkgQEAgc3RydWN0IFBhdHRlcm5UZXJt
IHsKICAgICB9CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24q
IGRpc2p1bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAs
IG1fb25jZVRocm91Z2goZmFsc2UpCkBAIC0yNDYsNyArMjUwLDkgQEAgc3RydWN0IFBhdHRlcm5B
bHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9
IDApCiAgICAgICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXpl
KGZhbHNlKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlw
dEdsdWUvQ2hhbmdlTG9nCmluZGV4IGM3YjJkY2UuLmU0M2RlMjYgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRHbHVlL0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMC0xMS0yMiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQg
cmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAg
IEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0
aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTEwLTI1ICBP
bGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2F2
aW4gQmFycmFjbG91Z2guCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaCBiL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJz
L3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmODQ4NGQy
Li4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25j
b3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY1YWIzYWYuLjljMzY3NDUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTAtMTEtMjIgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9u
Y29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZy
b20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1
ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQgCisgICAgICAgIEZhc3RB
bGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3Zl
IE5vbmNvcHlhYmxlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93
dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgTmlrb2xhcyBaaW1tZXJt
YW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaXJrIFNj
aHVsemUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oIGIvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzUxMjY3Ny4uMDAwMDAwMAotLS0gYS9XZWJDb3Jl
L0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi0jaWZuZGVmIFdlYkNvcmVfRldEX05vbmNvcHlhYmxlX2gKLSNkZWZpbmUgV2Vi
Q29yZV9GV0RfTm9uY29weWFibGVfaAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlh
YmxlLmg+Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGY5
YTc3NTguLjY3MDZjM2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAt
NzEwNDIsMTAgKzcxMDQyLDYgQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQot
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHd0ZlxOb25jb3B5YWJsZS5o
Ig0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHd0ZlxPd25BcnJheVB0ci5oIg0KIAkJCQkJPg0KIAkJCQk8
L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggMmVlNTZlZS4u
YjJhYzg2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC01Nyw3ICs1
Nyw4IEBAIHN0cnVjdCBUZXh0TWFya2VyRGF0YSB7CiAKIGVudW0gUG9zdFR5cGUgeyBQb3N0U3lu
Y2hyb25vdXNseSwgUG9zdEFzeW5jaHJvbm91c2x5IH07CiAKLWNsYXNzIEFYT2JqZWN0Q2FjaGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQVhPYmplY3RDYWNoZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQVhPYmplY3RDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgQVhPYmplY3RDYWNoZSgpOwogICAgIH5BWE9iamVjdENhY2hlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKaW5kZXgg
ODA5YTQ4OC4uZDA5MTQzMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRT
Y3JpcHRTb3VyY2VQcm92aWRlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0
U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcj4gY3JlYXRlKENhY2hlZFNjcmlwdCogY2Fj
aGVkU2NyaXB0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlk
ZXIoY2FjaGVkU2NyaXB0KSk7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9H
Q0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKaW5kZXgg
NGMyNTQwNy4uZDMyZjc1MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwx
MiArMjYsMTIgQEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVy
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAg
ICAgZnJpZW5kIEdDQ29udHJvbGxlciYgZ2NDb250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAppbmRleCA1NGU5Y2Y2Li43NzNiNTczIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01CaW5kaW5nLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDxydW50
aW1lL0xvb2t1cC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dDTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CiAgICAgY2xhc3MgSlNHbG9iYWxEYXRhOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVn
V3JhcHBlclNldC5oCmluZGV4IDk0YjZmNzguLmY0Mzk3MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTRE9N
V3JhcHBlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBkZWxldGVkIHdpdGhvdXQg
YmVpbmcgcmVtb3ZlZCBmcm9tIHRoZSBjYWNoZQogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgY2Fj
aGVkIHR3aWNlCiAKLWNsYXNzIEpTRGVidWdXcmFwcGVyU2V0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEpTRGVidWdXcmFwcGVyU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShK
U0RlYnVnV3JhcHBlclNldCk7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6VGhyZWFkU3BlY2lmaWM8
SlNEZWJ1Z1dyYXBwZXJTZXQ+OwogcHVibGljOgogICAgIHN0YXRpYyBKU0RlYnVnV3JhcHBlclNl
dCYgc2hhcmVkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVh
ZEV4ZWNTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUu
aAppbmRleCA4MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKQEAgLTMwLDExICszMCwxMSBAQAogI2lmbmRlZiBOREVCVUcKICNp
bmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2VuZGlmCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNNYWluVGhyZWFkRXhlY1N0YXRlKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgSlNDOjpFeGVjU3RhdGUqIGN1cnJlbnRTdGF0ZSgpCiAgICAgeyAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdDb250ZXh0Q2FjaGUuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNTVkdDb250ZXh0Q2FjaGUuaAppbmRleCA3NWVkMzI0Li5lYjQ0OTNm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHQ29udGV4dENhY2hlLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0NvbnRleHRDYWNoZS5oCkBAIC0yOCw3ICsyOCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NT2JqZWN0OwogCi1jbGFzcyBKU1NW
R0NvbnRleHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU1NWR0NvbnRleHRD
YWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNTVkdDb250ZXh0Q2FjaGUpOwogcHVi
bGljOgogICAgIHR5cGVkZWYgSGFzaE1hcDxET01PYmplY3QqLCBTVkdFbGVtZW50Kj4gV3JhcHBl
ck1hcDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24u
aCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4u
Y2ZjZWVkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24u
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBv
bmNlIG9yIHJlcGVhdGVkbHkuIFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFu
ZCB3aW5kb3cuc2V0SW50ZXJ2YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1
bGVkQWN0aW9uPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xh
dGVkV29ybGQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hl
ZEZyYW1lRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEu
aAppbmRleCAxNWMyM2M1Li4yNzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBj
bGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3Rl
ZFB0cjxKU0RPTVdpbmRvdz4gPiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBA
IGNsYXNzIFBhZ2VHcm91cDsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZh
U2NyaXB0Q2FsbEZyYW1lOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdn
ZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6
RGVidWdnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdT
ZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dFByb2ZpbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXgg
MDVlN2EyNS4uZDRkZDYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQ
cm9maWxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAt
MzIsMTEgKzMyLDExIEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNj
cmlwdFN0YXRlLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0
UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBz
dGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0
UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3Rh
dGVfaAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyAr
NTEsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5
IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1j
bGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Ny
aXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEu
aCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMz
MjguLjUyOGNiYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xp
ZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5o
CkBAIC0yNCwxNyArMjQsMTggQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2lu
Y2x1ZGUgIkRPTU9iamVjdEhhc2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJs
aWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGll
bnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29y
bGRJdGVyYXRvcjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpT
Qzo6SlNHbG9iYWxEYXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkg
eyB9CiAgICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBB
U1NFUlQobV93b3JsZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4
YjdkZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJv
bGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5o
CkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBX
b3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJv
bGxlcihXb3JrZXJDb250ZXh0Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NRGF0YS5oCmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9N
RGF0YS5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJl
YWQuICBUaGUgRE9NRGF0YSBmb3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3Ig
Y2hpbGQgdGhyZWFkcwogICAgIC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwot
ICAgIGNsYXNzIERPTURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURh
dGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIERPTURhdGEoKTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvRE9NRGF0YVN0b3JlLmgKaW5kZXggYzM5YTBlZC4uYTI4YWRjOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0x
NDksNyArMTQ4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9l
c24ndCBtYW5hZ2UgdGhlIGxpZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAg
ICAgLy8gbGlmZXRpbWUgaXMgbWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xh
c3MgRE9NRGF0YVN0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRh
U3RvcmUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAg
IHB1YmxpYzoKICAgICAgICAgZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBE
T01Ob2RlTWFwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRG
cmFtZURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
aW5kZXggMWFhMWY2Mi4uZjQyZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENh
Y2hlZEZyYW1lRGF0YS5oCkBAIC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAi
T3duSGFuZGxlLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRv
dzsKIAotY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTY3JpcHRDYWNoZWRGcmFtZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFt
ZURhdGEoRnJhbWUqKTsKICAgICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAog
I2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3
ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHRE
ZWJ1Z0xpc3RlbmVyOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2NyaXB0RGVidWdTZXJ2ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1Nl
cnZlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
UHJvZmlsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBi
NzVhMDU0Li5lMDk2OWUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFBy
b2ZpbGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0z
NiwxMyArMzYsMTMgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmls
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRl
LCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAx
MTgxM2IwLi5kYzI0NzEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0
YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICsz
Myw2IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBj
bGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFN0YXRlKTsKIHB1YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJu
ICFtX2V4Y2VwdGlvbi5Jc0VtcHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9j
YWw8djg6OlZhbHVlPiBleGNlcHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+
RW1wdHlTY3JpcHRTdGF0ZSgpIHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1
YmxpYzoKICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7
IH0KICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUp
IDogbV9zY3JpcHRTdGF0ZShzY3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4
LDggQEAgcHJpdmF0ZToKIAogLy8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemlu
ZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVj
b25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgewor
Y2xhc3MgV3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGlj
OgogICAgIFdyaXRlcigpCiAgICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4
IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTdGF0ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+
U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIv
V2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgK
QEAgLTI4LDE0ICsyOCwxNSBAQAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdl
SlNDLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsK
IAogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE1ldGhvZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2
aXJ0dWFsIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0
aG9kKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9X
ZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uOGYwZmRjNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJp
ZGdlL0lkZW50aWZpZXJSZXAuaApAQCAtMzMsNyArMzMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgCi1jbGFzcyBJZGVudGlmaWVyUmVwIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgSWRlbnRpZmllclJlcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGludCk7CiAgICAgc3RhdGljIElkZW50
aWZpZXJSZXAqIGdldChjb25zdCBjaGFyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9q
c2MvQnJpZGdlSlNDLmggYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKaW5kZXggOTY5
NzRkOS4uODhlYzcyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CisrKyBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaApAQCAtNTksOCArNTksMTAgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgfkZpZWxkKCkgeyB9CiB9OwogCi1jbGFzcyBDbGFzcyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ2xhc3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIENsYXNzKCkg
eyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVudGlmaWVy
JiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVsZCogZmllbGROYW1lZChj
b25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBKU1Zh
bHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRlbnRpZmll
ciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsxMjcsOCBAQCBwcml2YXRl
OgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVPYmplY3Q7CiB9OwogCi1j
bGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcnJheSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFycmF5KFBhc3NSZWZQdHI8
Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX3Jvb3QuaCBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCmlu
ZGV4IGJhYmQ3YWQuLjM5ZmIzNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVf
cm9vdC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCkBAIC0zMyw3ICszMyw2
IEBACiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKaW5kZXggODMz
ZDdmZS4uNTZiMjgyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCisr
KyBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzIsNiArMzIsNyBAQCBjbGFzcyBT
dHlsZUNhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVJbWFnZTsKIAogY2xhc3MgQ1NTSW1hZ2VWYWx1
ZSA6IHB1YmxpYyBDU1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVh
dGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZhbHVl
KHVybCkpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9XZWJD
b3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggMTBkMzAyNi4uNzNmMmFjYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0ltcG9y
dFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNoZWRDU1NTdHlsZVNoZWV0OwogY2xh
c3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxlIDogcHVibGljIENTU1J1bGUsIHBy
aXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1wb3J0UnVsZT4gY3JlYXRlKENT
U1N0eWxlU2hlZXQqIHBhcmVudCwgY29uc3QgU3RyaW5nJiBocmVmLCBQYXNzUmVmUHRyPE1lZGlh
TGlzdD4gbWVkaWEpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNl
LmggYi9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaAppbmRleCA2MjI1YzM2Li4wNmQ0MDZiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaAorKysgYi9XZWJDb3JlL2Nzcy9D
U1NOYW1lc3BhY2UuaApAQCAtMjYsNyArMjYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LSAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDU1NO
YW1lc3BhY2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NOYW1lc3BhY2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgQXRvbWljU3RyaW5n
IHByZWZpeDsKICAgICAgICAgQXRvbWljU3RyaW5nIHVyaTsKICAgICAgICAgT3duUHRyPENTU05h
bWVzcGFjZT4gcGFyZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAxZGEyMGI3Li45NzJmNzc3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApA
QCAtMzI4LDcgKzMyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBpbnQgY3NzUHJvcGVy
dHlJRChjb25zdCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NT
UGFyc2VyU3RyaW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTaG9ydGhhbmRTY29wZShDU1NQ
YXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3BhcnNlcihwYXJzZXIpCiAgICAgICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oIGIvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggOTkzYWUyOC4uNDVmNGE0NiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFs
dWVzLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IENTU1BhcnNlclZhbHVlIHsKICAgICBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBjcmVhdGVDU1NWYWx1ZSgpOwogfTsKIAotY2xhc3MgQ1NTUGFyc2Vy
VmFsdWVMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUGFyc2VyVmFsdWVM
aXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1BhcnNl
clZhbHVlTGlzdCgpCiAgICAgICAgIDogbV9jdXJyZW50KDApCkBAIC04Myw3ICs4NCw5IEBAIHBy
aXZhdGU6CiAgICAgVmVjdG9yPENTU1BhcnNlclZhbHVlLCA0PiBtX3ZhbHVlczsKIH07CiAKLXN0
cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENTU1BhcnNl
ckZ1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIENT
U1BhcnNlclN0cmluZyBuYW1lOwogICAgIE93blB0cjxDU1NQYXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7
CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaCBiL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmgKaW5kZXggMTA2MTcxZC4uOWE5ZWM0NCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCkBAIC0y
OSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTUHJvcGVydHkg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0eSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDU1NQcm9wZXJ0eShpbnQgcHJvcElELCBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQgPSBmYWxzZSwgaW50IHNo
b3J0aGFuZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9IGZhbHNlKQogICAgICAgICA6IG1faWQocHJv
cElEKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGZiOGY2OTUuLjQyY2RmNzkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKQEAgLTM3LDggKzM3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKIAotY2xhc3MgQ1NTU2VsZWN0b3JCYWcgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ1NTU2VsZWN0b3JCYWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENT
U1NlbGVjdG9yQmFnKTsKIHB1YmxpYzoKKyAgICBDU1NTZWxlY3RvckJhZygpIHsgfQogICAgIH5D
U1NTZWxlY3RvckJhZygpCiAgICAgewogICAgICAgICBBU1NFUlQoaXNFbXB0eSgpKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ci5oCmluZGV4IDAwZTIzYjkuLjQ2ZjRhYWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMjQsNyArMjQsNiBA
QAogCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29u
c3RhbnRzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTMzLDcgKzMyLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENTU1NlbGVjdG9yQmFnOwogCiAgICAgLy8g
dGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0b3IgZm9yIGEgU3R5bGVSdWxlCi0gICAgY2xh
c3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1NlbGVj
dG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3IpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTU2VsZWN0b3IoKQogICAg
ICAgICAgICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCkBAIC0zMDIsNyArMzAyLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBzcGVjaWZpY2l0eUZvclBhZ2UoKSBj
b25zdDsKICAgICAgICAgdm9pZCBleHRyYWN0UHNldWRvVHlwZSgpIGNvbnN0OwogCi0gICAgICAg
IHN0cnVjdCBSYXJlRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgc3RydWN0IFJhcmVEYXRh
IHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJhcmVEYXRhKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmFyZURhdGEoUGFz
c093blB0cjxDU1NTZWxlY3Rvcj4gdGFnSGlzdG9yeSkKICAgICAgICAgICAgICAgICA6IG1fYSgw
KQogICAgICAgICAgICAgICAgICwgbV9iKDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvckxpc3QuaCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCmluZGV4IDllNDBl
ZjguLjg1ODQyNzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCisr
KyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNk
ZWZpbmUgQ1NTU2VsZWN0b3JMaXN0X2gKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLWNs
YXNzIENTU1NlbGVjdG9yTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NTZWxl
Y3Rvckxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yTGlzdCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBt
X3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcAppbmRleCBhZjY3ZmIzLi4zNjIwYTJkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcApAQCAtMzQ5LDcgKzM0OSw4IEBAIGlmIChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJl
dHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxlU2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIENTU1J1bGVTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwog
cHVibGljOgogICAgIENTU1J1bGVTZXQoKTsKICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCmluZGV4IGI3MTg3NTEuLjEzZmM5N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgK
QEAgLTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5bGVkRWxlbWVudDsKIGNsYXNzIFdlYktpdENTU0tl
eWZyYW1lUnVsZTsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lc1J1bGU7CiAKLWNsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeVJlc3Vs
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeVJlc3VsdCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTWVkaWFRdWVyeVJlc3VsdChjb25zdCBNZWRp
YVF1ZXJ5RXhwJiBleHByLCBib29sIHJlc3VsdCkKICAgICAgICAgOiBtX2V4cHJlc3Npb24oZXhw
cikKQEAgLTgyLDcgKzgzLDggQEAgcHVibGljOgogfTsKIAogICAgIC8vIFRoaXMgY2xhc3Mgc2Vs
ZWN0cyBhIFJlbmRlclN0eWxlIGZvciBhIGdpdmVuIGVsZW1lbnQgYmFzZWQgb24gYSBjb2xsZWN0
aW9uIG9mIHN0eWxlc2hlZXRzLgotICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3IgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3IgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDU1NTdHlsZVNlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQqLCBTdHls
ZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hl
ZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVTaGVldCogcGFnZVVzZXJTaGVl
dCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBwYWdlR3JvdXBVc2VyU2hl
ZXRzLApAQCAtMjA5LDcgKzIxMSw4IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUoKSB7IHJldHVybiBzX3N0eWxl
Tm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2VsZWN0b3JDaGVja2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0b3JDaGVja2VyIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hlY2tlcik7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1bWVudCosIGJvb2wgc3RyaWN0
UGFyc2luZyk7CiAKQEAgLTMxNSw3ICszMTgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFZlY3RvcjxN
ZWRpYVF1ZXJ5UmVzdWx0Kj4gbV92aWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwog
ICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQ1NTUnVsZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBD
U1NSdWxlRGF0YSh1bnNpZ25lZCBwb3MsIENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNl
bCwgQ1NTUnVsZURhdGEqIHByZXYgPSAwKQogICAgICAgICAgICAgOiBtX3Bvc2l0aW9uKHBvcykK
QEAgLTM0Myw3ICszNDcsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU1J1bGVEYXRhKiBtX25leHQ7
CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgQ1NTUnVsZURhdGFMaXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIENTU1J1bGVEYXRhTGlzdCh1bnNpZ25lZCBwb3MsIENTU1N0eWxlUnVsZSog
cnVsZSwgQ1NTU2VsZWN0b3IqIHNlbCkKICAgICAgICAgICAgIDogbV9maXJzdChuZXcgQ1NTUnVs
ZURhdGEocG9zLCBydWxlLCBzZWwpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eS5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCmluZGV4IDI4MTAwOWIuLjdkMWZjN2IgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5LmgKQEAgLTM3LDcgKzM3LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1l
ZGlhUXVlcnlFeHA7CiAKLWNsYXNzIE1lZGlhUXVlcnkgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgTWVkaWFRdWVyeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsK
ICAgICAgICAgT25seSwgTm90LCBOb25lCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5RXZhbHVhdG9yLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXgg
MDBhYzM5NC4uZDhjNTk4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDksNyAr
NDksOCBAQCBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogICogdGhlIGRldmljZSBjaGFyYWN0ZXJpc3Rp
Y3MgYXJlIG5vdCBrbm93bi4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGluZwog
ICogb2Ygc3R5bGVzaGVldHMgdG8gb25seSB0aG9zZSB3aGljaCBhcmUgcHJvYmFibGUgdG8gbWF0
Y2guCiAgKi8KLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1lZGlhUXVlcnlFdmFsdWF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIC8qKiBDcmVhdGVzIGV2YWx1YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBzaW1wbGUgbWVk
aWEgcXVlcmllcwogICAgICAqICBFdmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciAiYWxsIiwgYW5k
IHJldHVybnMgdmFsdWUgb2YgXG1lZGlhRmVhdHVyZVJlc3VsdApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUV4cC5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCmluZGV4
IDcyZDNmZmYuLjhlNDI1NWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAu
aAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVk
aWFRdWVyeUV4cCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8TWVkaWFRdWVyeUV4cD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbWVkaWFGZWF0
dXJlLCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlcyk7CiAgICAgfk1lZGlhUXVlcnlFeHAoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcCBiL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcAppbmRleCA3ZjVmMWI2Li40YThkMjVhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvV2ViQ29yZS9kb20v
QXN5bmNTY3JpcHRSdW5uZXIuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgQXN5bmNTY3JpcHRS
dW5uZXI6OmV4ZWN1dGVTY3JpcHRTb29uKFNjcmlwdEVsZW1lbnQqIGRhdGEsIENhY2hlZFJlc291
cmNlSGFuCiAgICAgQVNTRVJUKGVsZW1lbnQtPmluRG9jdW1lbnQoKSk7CiAKICAgICBtX2RvY3Vt
ZW50LT5pbmNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCk7Ci0gICAgbV9zY3JpcHRzVG9FeGVj
dXRlU29vbi5hcHBlbmQobWFrZV9wYWlyKGRhdGEsIGNhY2hlZFNjcmlwdCkpOworICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGRhdGEsIGNhY2hlZFNjcmlw
dCkpOwogICAgIGVsZW1lbnQtPnJlZigpOyAvLyBCYWxhbmNlZCBieSBkZXJlZigpcyBpbiB0aW1l
ckZpcmVkKCkgYW5kIGR0b3IuCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQXN5bmNT
Y3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKaW5kZXggMWEw
NTFhOC4uMjllZTU2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIu
aAorKysgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCkBAIC0yOCw3ICsyOCw2IEBA
CiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM4LDcgKzM3LDggQEAgY2xhc3MgQ2Fj
aGVkU2NyaXB0OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBTY3JpcHRFbGVtZW50OwogICAgIAot
Y2xhc3MgQXN5bmNTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5
bmNTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jU2NyaXB0UnVu
bmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxBc3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1
cm4gbmV3IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1NjcmlwdFJ1
bm5lcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmggYi9XZWJDb3Jl
L2RvbS9ET01TdHJpbmdNYXAuaAppbmRleCA4NmEyMmIwLi5mNTAzNmU0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAu
aApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBET01TdHJpbmdNYXBfaAogCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDcgKzM0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlv
bkNvZGU7CiAKLWNsYXNzIERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBET01TdHJpbmdNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmluZ01hcCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NU3RyaW5n
TWFwKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YWQ5NTZmLi4wNmRkYzI4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00
NjQwLDcgKzQ2NDAsOSBAQCB2b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAogICAgICAgICB3aW5kb3ct
PmNvbnNvbGUoKS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5l
TnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDogTm9u
Y29weWFibGUgeworc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGVyZm9ybVRhc2tDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1
YmxpYzoKICAgICBQZXJmb3JtVGFza0NvbnRleHQoUGFzc1JlZlB0cjxEb2N1bWVudFdlYWtSZWZl
cmVuY2U+IGRvY3VtZW50UmVmZXJlbmNlLCBQYXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OlRhc2s+IHRhc2spCiAgICAgICAgIDogZG9jdW1lbnRSZWZlcmVuY2UoZG9jdW1lbnRSZWZl
cmVuY2UpCiAgICAgICAgICwgdGFzayh0YXNrKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmggYi9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRy
b2xsZXIuaAppbmRleCA5NmZiN2YzLi41MGVjODgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9E
b2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXIuaApAQCAtMzgsOCArMzgsMTAgQEAgY2xhc3MgSW50UmVjdDsKIGNsYXNzIE5v
ZGU7CiBjbGFzcyBSYW5nZTsKIAotY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7
IH0KICAgICB+RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyBkZXRhY2goKTsgfQogCiAgICAg
dm9pZCBkZXRhY2goKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmggYi9XZWJDb3Jl
L2RvbS9FdmVudC5oCmluZGV4IDBkMmYyYjkuLjYyZjQxMjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMjQsNiArMjQsNyBAQAog
I2lmbmRlZiBFdmVudF9oCiAjZGVmaW5lIEV2ZW50X2gKIAorI2luY2x1ZGUgIkNsaXBib2FyZC5o
IgogI2luY2x1ZGUgIkRPTVRpbWVTdGFtcC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTMxLDggKzMyLDYgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0gICAgY2xhc3MgQ2xpcGJvYXJkOwotCiAgICAgY2xhc3MgRXZlbnQgOiBw
dWJsaWMgUmVmQ291bnRlZDxFdmVudD4gewogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBQaGFz
ZVR5cGUgeyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaAppbmRleCA0OTY4MDRlLi43ZTEwZTZmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0x
NzgsNyArMTc4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFwKIC8vIGVuZCBvZiBET01f
RVZFTlRfTkFNRVNfRk9SX0VBQ0gKIAotICAgIGNsYXNzIEV2ZW50TmFtZXMgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TmFtZXMgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudE5hbWVzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgaW50
IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAg
ICAgICAvLyBQcml2YXRlIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMo
KSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
aAppbmRleCBkZGNiNjYzLi5mYTE5MGRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcgKzgzLDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyZWRFdmVudExp
c3RlbmVyLCAxPiBFdmVudExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9t
aWNTdHJpbmcsIEV2ZW50TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFwOwogCi0gICAg
c3RydWN0IEV2ZW50VGFyZ2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRU
YXJnZXREYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRUYXJnZXREYXRh
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEV2ZW50VGFy
Z2V0RGF0YSgpOwogICAgICAgICB+RXZlbnRUYXJnZXREYXRhKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggYi9XZWJD
b3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCmluZGV4IDlk
MTgzNWEuLjI2ZjdmZDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudEluY3JlbWVudGVyLmgKKysrIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3Rp
dmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIEln
bm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyX2gKIAogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVt
ZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBJZ25vcmVEZXN0cnVjdGl2
ZVdyaXRlQ291bnRJbmNyZW1lbnRlcihEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgICAgIDogbV9j
b3VudChkb2N1bWVudCA/ICZkb2N1bWVudC0+bV9pZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnQg
OiAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmggYi9XZWJD
b3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAppbmRleCBmMzA4YTI5Li4xNGQ5MGZiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAorKysgYi9XZWJDb3JlL2Rv
bS9NZXNzYWdlUG9ydENoYW5uZWwuaApAQCAtNTUsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICAvLyBNZXNzYWdlUG9ydENoYW5uZWwgaXMgYSBwbGF0Zm9ybS1pbmRlcGVuZGVu
dCBpbnRlcmZhY2UgdG8gdGhlIHJlbW90ZSBzaWRlIG9mIGEgbWVzc2FnZSBjaGFubmVsLgogICAg
IC8vIEl0IGFjdHMgYXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IFBs
YXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsIGltcGxlbWVudGF0aW9uIHdoaWNoIGVuc3VyZXMgdGhh
dCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IGNsb3NlKCkgbWV0aG9kIGlzIGludm9rZWQgYmVmb3Jl
IGRlc3RydWN0aW9uLgotICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVzc2FnZVBvcnRDaGFubmVsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNoYW5uZWwoUGFzc1Jl
ZlB0cjxNZXNzYWdlUG9ydD4sIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+KTsKIApAQCAtNzgsNyAr
NzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0
aGUgcHJveHkgY3VycmVudGx5IGNvbnRhaW5zIG1lc3NhZ2VzIGZvciB0aGlzIHBvcnQuCiAgICAg
ICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiAKLSAgICAgICAgY2xhc3MgRXZlbnREYXRh
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXZlbnREYXRhIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEV2
ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc093
blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9Ob2RlUmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IGFiMjA4
ZDIuLmVkYzUwNjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBi
L1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9uY29weWFibGUgewor
c3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2Rl
TGlzdHNOb2RlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgdHlw
ZWRlZiBIYXNoU2V0PER5bmFtaWNOb2RlTGlzdCo+IE5vZGVMaXN0U2V0OwogICAgIE5vZGVMaXN0
U2V0IG1fbGlzdHNXaXRoQ2FjaGVzOwogICAgIApAQCAtNjcsNyArNjksOCBAQCBwcml2YXRlOgog
ICAgIH0KIH07CiAgICAgCi1jbGFzcyBOb2RlUmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTm9kZVJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlUmFy
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOiAgICAKICAgICBOb2RlUmFy
ZURhdGEoKQogICAgICAgICA6IG1fdGFiSW5kZXgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1F1YWxpZmllZE5hbWUuaCBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAppbmRleCAzNGZj
MDY5Li4xN2U4NTAwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysr
IGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICszMiw4IEBAIHN0cnVjdCBR
dWFsaWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9
OwogCi1jbGFzcyBRdWFsaWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
UXVhbGlmaWVkTmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBjbGFzcyBRdWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3VudGVkPFF1YWxpZmllZE5h
bWVJbXBsPiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4IGI2YmViNmUuLjRlOTFi
ZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAorKysgYi9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVu
dDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2
YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFNjcmlwdEVsZW1lbnQoRWxlbWVudCosIGJvb2wgY3JlYXRlZEJ5UGFyc2Vy
LCBib29sIGlzRXZhbHVhdGVkKTsKICAgICB2aXJ0dWFsIH5TY3JpcHRFbGVtZW50KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYjQ2YTBmNC4uOGNhODJhMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMTE2LDggKzExNiwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgcmVmKCkgeyByZWZTY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7IH0KICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZTY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7IH0KIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgorICAgICAgICAgICAg
VGFzaygpIHsgfQogICAgICAgICAgICAgdmlydHVhbCB+VGFzaygpOwogICAgICAgICAgICAgdmly
dHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CiAgICAg
ICAgICAgICAvLyBDZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3BlY2lhbGx5IHNvIHRoYXQgdGhl
eSBhcmVuJ3QgZGlzY2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3aGVuIHRoZSBjb250ZXh0IGlz
IHNodXR0aW5nIGRvd24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9TcGFjZVNwbGl0U3RyaW5nLmggYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKaW5k
ZXggODI2ZTZiZC4uODM5OWI2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCisrKyBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaApAQCAtMjgsNyArMjgs
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5n
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU3BhY2VTcGxpdFN0cmluZ0Rh
dGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGFjZVNwbGl0U3RyaW5nRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTcGFjZVNwbGl0
U3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzaG91bGRGb2xkQ2FzZSkKICAg
ICAgICAgICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRGb2xkQ2FzZShzaG91bGRGb2xk
Q2FzZSksIG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1Ry
YW5zZm9ybVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKaW5kZXggZjk3
YWZjZi4uOTdlYzQ4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgK
KysrIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNp
ZiBFTkFCTEUoWFNMVCkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVRyYW5z
Zm9ybVNvdXJjZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2UgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgVHJhbnNmb3JtU291cmNlKGNvbnN0IFBsYXRmb3JtVHJh
bnNmb3JtU291cmNlJiBzb3VyY2UpOwogICAgICAgICB+VHJhbnNmb3JtU291cmNlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlckdlc3R1cmVJbmRpY2F0b3IuaAppbmRleCAxN2VhMzE5Li5kZTU3ZWZhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1Vz
ZXJHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVXNlckdlc3R1
cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyR2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNiw3ICsz
NSw4IEBAIGVudW0gUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgewogICAgIERlZmluaXRlbHlO
b3RQcm9jZXNzaW5nVXNlckdlc3R1cmUKIH07CiAKLWNsYXNzIFVzZXJHZXN0dXJlSW5kaWNhdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJHZXN0dXJlSW5kaWNhdG9yIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyR2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgeyByZXR1cm4gc19wcm9jZXNz
aW5nVXNlckdlc3R1cmUgPT0gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQogICAg
IHN0YXRpYyBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSBnZXRVc2VyR2VzdHVyZVN0YXRlKCkg
eyByZXR1cm4gc19wcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmggYi9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvci5oCmluZGV4IDZjNzEwNzkuLmJjM2FjZTEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBV
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcl9oCiAjZGVmaW5lIFVzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzQsNyArMzMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIFVzZXJUeXBp
bmdHZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJUeXBp
bmdHZXN0dXJlSW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJvY2Vzc2luZ1Vz
ZXJUeXBpbmdHZXN0dXJlKCk7CiAgICAgc3RhdGljIE5vZGUqIGZvY3VzZWRFbGVtZW50QXRHZXN0
dXJlU3RhcnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgg
Yi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IGUzZDNjYzIuLmQ1ZGE5ZGYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKKysrIGIvV2ViQ29y
ZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtNzEsNiArNzEsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjZW5kaWYKIAogICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyIDogcHVibGljIFNj
cmlwdGFibGVEb2N1bWVudFBhcnNlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFhNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50
LCBGcmFtZVZpZXcqIHZpZXcpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNl
ckxpYnhtbDIuY3BwCmluZGV4IDdhMzI4NWYuLjZlZGU3ODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAgdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGljOgorICAgIFBlbmRpbmdD
YWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAgICAgewogICAgICAgICBk
ZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXJTY29wZS5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZS5oCmluZGV4IDU4ZThhNmIuLjhmNDE5MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERv
Y3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNj
b3BlLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9o
CiAjZGVmaW5lIFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpZiBFTkFCTEUoWFNMVCkKICNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgpA
QCAtMzYsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxEb2N1bWVudFBhcnNlclNjb3BlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAgflhNTERvY3VtZW50UGFyc2VyU2Nv
cGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVy
LmggYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCmluZGV4IDEyODZj
MDcuLjg5ZjJjYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApA
QCAtMzYsNyArMzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNzIFJlbmRlck9iamVjdDsK
IGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJvbGxlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlcihGcmFt
ZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1h
bmQuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRl
eCBmYjUyZTU2Li4xYzdiNzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNl
bGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5jcHAKQEAgLTU5LDcgKzU5LDggQEAgZW51bSBFRnJhZ21lbnRUeXBlIHsgRW1wdHlG
cmFnbWVudCwgU2luZ2xlVGV4dE5vZGVGcmFnbWVudCwgVHJlZUZyYWdtZW50IH07CiAKIC8vIC0t
LSBSZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1jbGFzcyBSZXBsYWNlbWVudEZy
YWdtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2VtZW50RnJhZ21lbnQpOwogcHVibGlj
OgogICAgIFJlcGxhY2VtZW50RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1bWVudEZyYWdtZW50Kiwg
Ym9vbCBtYXRjaFN0eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcv
U2VsZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDJlZGFkMGEuLjFkN2E3NjIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlNj
cm9sbEJlaGF2aW9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJWaXNpYmxlU2Vs
ZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKIGVudW0g
RGlyZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24sIE1ha2VE
aXJlY3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIGVudW0gRUFsdGVyYXRpb24geyBBbHRlcmF0aW9uTW92ZSwgQWx0
ZXJhdGlvbkV4dGVuZCB9OwogICAgIGVudW0gRURpcmVjdGlvbiB7IERpcmVjdGlvbkZvcndhcmQs
IERpcmVjdGlvbkJhY2t3YXJkLCBEaXJlY3Rpb25SaWdodCwgRGlyZWN0aW9uTGVmdCB9OwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oIGIvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCmluZGV4IDRkY2VkMDUuLmRlOWM3NTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAorKysgYi9XZWJDb3Jl
L2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKQEAgLTcyLDcgKzcyLDggQEAgcHJpdmF0ZToK
ICAgICBtdXRhYmxlIGludCBtX2NoZWNraW5nTGVuZ3RoOwogfTsKIAotY2xhc3MgVGV4dENoZWNr
aW5nSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRleHRDaGVja2luZ0hlbHBl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENoZWNraW5nSGVscGVyKTsKIHB1Ymxp
YzoKICAgICBUZXh0Q2hlY2tpbmdIZWxwZXIoRWRpdG9yQ2xpZW50KiwgUGFzc1JlZlB0cjxSYW5n
ZT4pOwogICAgIH5UZXh0Q2hlY2tpbmdIZWxwZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAK
aW5kZXggYTk2MjY4ZC4uMWZiZTYwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1RleHRJ
dGVyYXRvci5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTU3
LDcgKzU3LDggQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIC8vIEtlZXBzIGVub3VnaCBv
ZiB0aGUgcHJldmlvdXMgdGV4dCB0byBiZSBhYmxlIHRvIHNlYXJjaCBpbiB0aGUgZnV0dXJlLCBi
dXQgbm8gbW9yZS4KIC8vIE5vbi1icmVha2luZyBzcGFjZXMgYXJlIGFsd2F5cyBlcXVhbCB0byBu
b3JtYWwgc3BhY2VzLgogLy8gQ2FzZSBmb2xkaW5nIGlzIGFsc28gZG9uZSBpZiA8aXNDYXNlU2Vu
c2l0aXZlPiBpcyBmYWxzZS4KLWNsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTZWFyY2hCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlYXJj
aEJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0IFN0cmluZyYgdGFyZ2V0
LCBib29sIGlzQ2FzZVNlbnNpdGl2ZSk7CiAgICAgflNlYXJjaEJ1ZmZlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhy
ZWFkLmgKaW5kZXggZDdhYWJmNy4uNDUyMDVjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBp
L0ZpbGVUaHJlYWQuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCkBAIC01NCw3
ICs1NCw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9wKCk7CiAK
LSAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUYXNrIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7CiAgICAgcHVibGljOgogICAgICAg
ICB2aXJ0dWFsIH5UYXNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygp
ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCBiL1dl
YkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAppbmRleCBiNzc5YTVmLi4xMmE3MDEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29y
ZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIEZpbGVT
eXN0ZW1DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEtlZXBz
IHBlci1wcm9jZXNzIGluZm9ybWF0aW9uIGFuZCBwcm92aWRlcyBhbiBlbnRyeSBwb2ludCB0byBv
cGVuIGEgZmlsZSBzeXN0ZW0uCi1jbGFzcyBMb2NhbEZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTG9jYWxGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMb2NhbEZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIC8vIFJldHVybnMgYSBwZXItcHJvY2Vz
cyBpbnN0YW5jZSBvZiBMb2NhbEZpbGVTeXN0ZW0uCiAgICAgLy8gTm90ZSB0aGF0IExvY2FsRmls
ZVN5c3RlbTo6aW5pdGlhbGl6ZUxvY2FsRmlsZVN5c3RlbSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaCBiL1dlYkNv
cmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAppbmRleCAyNWU2NzM5Li4wMjBhYzQ5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCkBAIC01OCw3ICs1OCw4IEBAIGNsYXNz
IEZpbGVFbnRyeVN5bmM7CiAKIC8vIEEgaGVscGVyIHRlbXBsYXRlIGZvciBGaWxlU3lzdGVtU3lu
YyBpbXBsZW1lbnRhdGlvbi4KIHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNjZXNzQ2FsbGJhY2ssIHR5
cGVuYW1lIE9ic2VydmVyVHlwZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcsIHR5cGVuYW1lIFJlc3Vs
dFR5cGU+Ci1jbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTeW5j
Q2FsbGJhY2tIZWxwZXIpOwogcHVibGljOgogICAgIHR5cGVkZWYgU3luY0NhbGxiYWNrSGVscGVy
PFN1Y2Nlc3NDYWxsYmFjaywgT2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0FyZywgUmVzdWx0VHlwZT4g
SGVscGVyVHlwZTsKICAgICBTeW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2ZXJUeXBlKiBvYnNlcnZl
ciA9IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVy
LmggYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKaW5kZXggZTg5ZTMy
Yi4uZDY4MDQ3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJv
bGxlci5oCisrKyBiL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaApAQCAt
MjYsNyArMjYsNiBAQAogI2lmbmRlZiBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAogI2RlZmluZSBC
YWNrRm9yd2FyZENvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAgLTM2
LDcgKzM1LDggQEAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwogY2xhc3MgSGlzdG9yeUl0ZW07CiBj
bGFzcyBQYWdlOwogCi1jbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShCYWNrRm9yd2FyZENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlcihQYWdlKiwgUGFzc1JlZlB0cjxCYWNr
Rm9yd2FyZExpc3Q+KTsKICAgICB+QmFja0ZvcndhcmRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmggYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hl
LmgKaW5kZXggNzFhZTVhZC4uZDUwYjljZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9oaXN0b3J5L1Bh
Z2VDYWNoZS5oCisrKyBiL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIEhpc3RvcnlJdGVtOwogICAgIGNsYXNzIFBhZ2U7CiAgICAgCi0gICAgY2xhc3Mg
UGFnZUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlQ2FjaGUgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSogcGFnZUNhY2hl
KCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5o
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEuLmRhM2U2ZDUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3Jl
L2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAorcHVibGljOgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwogICAgIENvbGxlY3Rpb25D
YWNoZShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUmIG9wZXJh
dG9yPShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tl
bkxpc3QuaAppbmRleCAyYjcxMWI0Li5lMTUwNzMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
RE9NU2V0dGFibGVUb2tlbkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tl
bkxpc3QuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBE
T01TZXR0YWJsZVRva2VuTGlzdCA6IHB1YmxpYyBET01Ub2tlbkxpc3QsIHB1YmxpYyBSZWZDb3Vu
dGVkPERPTVNldHRhYmxlVG9rZW5MaXN0PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01TZXR0YWJsZVRva2VuTGlzdD4gY3Jl
YXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmggYi9X
ZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKaW5kZXggNWRmMmVkZS4uZTBkYmNjOCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9ET01U
b2tlbkxpc3QuaApAQCAtMjcsMTUgKzI3LDE2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLWNsYXNzIERPTVRva2VuTGlzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBET01Ub2tlbkxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERPTVRva2VuTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRE9N
VG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkge307CiAKICAgICB2
aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGFm
NGU3ZDAuLmQ0ZDVlNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEyMDEsNyAr
MTIwMSw5IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21B
dHRyaWJ1dGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RydWN0IEV2ZW50SGFu
ZGxpbmdTdGF0ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBSZWZQdHI8SFRNTElu
cHV0RWxlbWVudD4gbV9jdXJyUmFkaW87CiAgICAgYm9vbCBtX2luZGV0ZXJtaW5hdGU7CiAgICAg
Ym9vbCBtX2NoZWNrZWQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJr
cy5oIGIvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAppbmRleCA1MGRlNzEwLi4zYmYy
MmE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmlu
ZSBIVE1MUGFyc2VyUXVpcmtzX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTm9k
ZTsKIAotY2xhc3MgSFRNTFBhcnNlclF1aXJrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MUGFyc2VyUXVpcmtzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2Vy
UXVpcmtzKTsKIHB1YmxpYzoKICAgICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9CiAgICAgdmlydHVh
bCB+SFRNTFBhcnNlclF1aXJrcygpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0
VHlwZS5oIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGYxYTViNmQuLjBjYzE2Yjgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgUmVuZGVy
U3R5bGU7CiAvLyBBbiBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHR5cGUtc3BlY2lm
aWMgcGFydCBvZiBhbiBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4cG9zZSBpbnN0YW5j
ZXMgb2YgSW5wdXRUeXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0byBjbGFzc2VzCiAv
LyBvdGhlciB0aGFuIEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1dFR5cGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJbnB1dFR5cGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQqLCBjb25zdCBB
dG9taWNTdHJpbmcmKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZVRl
eHQoSFRNTElucHV0RWxlbWVudCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1N0ZXBSYW5n
ZS5oIGIvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCmluZGV4IGNlMDQ0ZWEuLjFmMTY2YmYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAorKysgYi9XZWJDb3JlL2h0bWwvU3Rl
cFJhbmdlLmgKQEAgLTIyLDEzICsyMiwxMyBAQAogI2RlZmluZSBTdGVwUmFuZ2VfaAogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogCi1jbGFzcyBTdGVw
UmFuZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RlcFJhbmdlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTdGVwUmFuZ2UpOwogcHVibGljOgogICAgIGJvb2wgaGFzU3RlcDsK
ICAgICBkb3VibGUgc3RlcDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKaW5kZXggZmUxOGI2Yi4u
ZjgzYTVlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKKysr
IGIvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNk
ZWZpbmUgVmFsaWRhdGlvbk1lc3NhZ2VfaAogCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQwLDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OwogCi1jbGFzcyBWYWxpZGF0aW9u
TWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxpZGF0aW9uTWVzc2FnZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRhdGlvbk1lc3NhZ2UpOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkYXRpb25NZXNzYWdlPiBjcmVhdGUoSFRNTEZvcm1D
b250cm9sRWxlbWVudCopOwogICAgIH5WYWxpZGF0aW9uTWVzc2FnZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRl
LmgKaW5kZXggNTMyZGRiMi4uMjJhNDhiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC0yOSw3ICsy
OSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVmFsaWRpdHlTdGF0ZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxpZGl0eVN0YXRlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShWYWxpZGl0eVN0YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoSFRNTEZvcm1D
b250cm9sRWxlbWVudCogY29udHJvbCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGEyNWU4YTEuLjE0ZjVhMGEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdI
YXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgSFRN
TFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9iamVjdDsKIAotY2xhc3Mg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYW52
YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYW52YXNSZW5k
ZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDYW52
YXNSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNl
ci9DU1NQcmVsb2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nh
bm5lci5oCmluZGV4IDdhYzI4MmYuLmZhZTk1YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1By
ZWxvYWRTY2FubmVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENTU1ByZWxvYWRTY2FubmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1ByZWxvYWRTY2FubmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBwdWJsaWM6CiAgICAgQ1NT
UHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29u
c3RydWN0aW9uU2l0ZS5oCmluZGV4IDhiMDliZjUuLmZmNjE4NmQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAorKysgYi9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRl
ICJIVE1MRWxlbWVudFN0YWNrLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlz
dC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgQXRvbWljSFRNTFRva2VuOwogY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSFRNTENvbnN0cnVjdGlvblNpdGUpOwogcHVibGljOgogICAgIEhU
TUxDb25zdHJ1Y3Rpb25TaXRlKERvY3VtZW50KiwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9u
LCBib29sIGlzUGFyc2luZ0ZyYWdtZW50KTsKICAgICB+SFRNTENvbnN0cnVjdGlvblNpdGUoKTsK
QEAgLTg5LDcgKzg5LDggQEAgcHVibGljOgogICAgIEhUTUxGb3JtRWxlbWVudCogZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fZm9ybS5nZXQoKTsgfQogICAgIFBhc3NSZWZQdHI8SFRNTEZvcm1FbGVt
ZW50PiB0YWtlRm9ybSgpOwogCi0gICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFyZW50
R3VhcmQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWRpcmVjdFRvRm9zdGVyUGFy
ZW50R3VhcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1
YXJkKEhUTUxDb25zdHJ1Y3Rpb25TaXRlJiB0cmVlKQogICAgICAgICAgICAgOiBtX3RyZWUodHJl
ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDA1MDUzZGYu
LmMyMDFjM2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaApAQCAt
NTAsNiArNTAsNyBAQCBjbGFzcyBTY3JpcHRDb250cm9sbGVyOwogY2xhc3MgU2NyaXB0U291cmNl
Q29kZTsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyIDogIHB1YmxpYyBTY3JpcHRhYmxlRG9j
dW1lbnRQYXJzZXIsIEhUTUxTY3JpcHRSdW5uZXJIb3N0LCBDYWNoZWRSZXNvdXJjZUNsaWVudCB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBi
b29sIHJlcG9ydEVycm9ycykKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFj
ay5oCmluZGV4IDhhOGUxNjAuLjkzNmQ0MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTEVsZW1lbnRTdGFjay5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1l
bnRTdGFjay5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIEhUTUxFbGVtZW50U3RhY2tfaAog
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zOSwxMiArMzgsMTQgQEAgY2xhc3MgUXVhbGlmaWVk
TmFtZTsKIAogLy8gTk9URTogVGhlIEhUTUw1IHNwZWMgdXNlcyBhIGJhY2t3YXJkcyAoZ3Jvd3Mg
ZG93bndhcmQpIHN0YWNrLiAgV2UncmUgdXNpbmcKIC8vIG1vcmUgc3RhbmRhcmQgKGdyb3dzIHVw
d2FyZHMpIHN0YWNrIHRlcm1pbm9sb2d5IGhlcmUuCi1jbGFzcyBIVE1MRWxlbWVudFN0YWNrIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxFbGVtZW50U3RhY2sgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEhUTUxFbGVtZW50U3RhY2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAgICB+SFRNTEVsZW1lbnRTdGFj
aygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVs
ZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgfkVsZW1lbnRSZWNvcmQoKTsgLy8g
UHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1YmIuLmY3NWZhNTAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCkBAIC0z
NSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiAKIC8vIFRo
aXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNrLgotY2xhc3MgSFRNTEZv
cm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRm9ybWF0
dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0
KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxJbnB1dFN0cmVhbS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9mIHRoZSBhZnRlckluc2VydGlv
blBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRhdGEgYXQgdGhlIGVuZCBvZiB0
aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0gdG8gdGhlICJsYXN0IiBzdHJp
bmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MSW5wdXRTdHJl
YW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAgICAgICAgIDogbV9sYXN0KCZt
X2ZpcnN0KQpAQCAtMTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAgICAgU2VnbWVudGVkU3RyaW5n
KiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGljOgogICAgIGV4cGxpY2l0IElu
c2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRTdHJlYW0pCiAgICAgICAg
IDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBh
cnNlclNjaGVkdWxlci5oCmluZGV4IDViZTMzYjAuLmE0Yjc0NjAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgsMTQgQEAKIAogI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAKLWNsYXNzIEhUTUxQYXJz
ZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQYXJzZXJTY2hl
ZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJTY2hlZHVsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhU
TUxQYXJzZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlcikKICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5o
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAppbmRleCA5NGE5MGU2
Li44NjA0NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nhbm5lci5oIgogI2luY2x1ZGUg
IkhUTUxUb2tlbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDgg
QEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXplcjsKIGNsYXNzIFNlZ21lbnRl
ZFN0cmluZzsKIAotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBIVE1MUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxT
Y3JpcHRSdW5uZXIuaAppbmRleCA2Y2Y3NGQ4Li4xYjdmOTFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxTY3JpcHRSdW5uZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIlBlbmRpbmdT
Y3JpcHQuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0
UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNs
YXNzIEZyYW1lOwogY2xhc3MgSFRNTFNjcmlwdFJ1bm5lckhvc3Q7CiBjbGFzcyBTY3JpcHRTb3Vy
Y2VDb2RlOwogCi1jbGFzcyBIVE1MU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhUTUxTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxT
Y3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQs
IEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5o
CmluZGV4IDQyY2RkYjguLjhlY2Q4ZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRva2VuLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaApAQCAtMjcs
MTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNsdWRlICJOYW1lZE5vZGVN
YXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRva2Vu
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIFVuaW5pdGlhbGl6ZWQs
CkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3YW50IHRvIGVuZCB1cCB3aXRo
IGEgY2xlYW5lciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCiAgICAgZnJpZW5k
IGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERvY3R5cGVEYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvY3R5cGVE
YXRhKCkKICAgICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlmaWVyKGZhbHNlKQpAQCAtMzUy
LDcgKzM1Myw4IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlzIGNsYXNzIHNob3VsZCBldmVu
dHVhbGx5IGJlIG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUgdGhlCiAvLyBleGl0aW5nIEhU
TUxUb2tlbiB0byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2VuaXplci4KLWNsYXNzIEF0b21p
Y0hUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdG9taWNIVE1MVG9rZW4g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxUb2tlbik7CiBwdWJsaWM6CiAg
ICAgQXRvbWljSFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV90eXBlKHRv
a2VuLnR5cGUoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXpl
ci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKaW5kZXggZjE2YjA0OS4u
ZDU3NzlmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgK
KysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNkZWZpbmUgSFRNTFRva2VuaXplcl9oCiAKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNT
dHJpbmcuaD4KQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgRWxlbWVudDsKIGNsYXNzIEZyYW1lOwog
Y2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhU
TUxUb2tlbml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0g
U3RhdGUgewogICAgICAgICBEYXRhU3RhdGUsCkBAIC0xNzIsNyArMTcyLDggQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9j
dXJyZW50LXdvcmsvI3ByZXByb2Nlc3NpbmctdGhlLWlucHV0LXN0cmVhbQotICAgIGNsYXNzIElu
cHV0U3RyZWFtUHJlcHJvY2Vzc29yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElu
cHV0U3RyZWFtUHJlcHJvY2Vzc29yKTsKICAgICBwdWJsaWM6CiAgICAgICAgIElucHV0U3RyZWFt
UHJlcHJvY2Vzc29yKEhUTUxUb2tlbml6ZXIqIHRva2VuaXplcikKICAgICAgICAgICAgIDogbV90
b2tlbml6ZXIodG9rZW5pemVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VHJlZUJ1aWxkZXIuY3BwIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
CmluZGV4IDNkMzkxMzEuLjA0MzFjZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAKQEAgLTI0MCw3ICsyNDAsOCBAQCBIVE1MRm9ybUVsZW1lbnQqIGNsb3Nlc3RGb3Jt
QW5jZXN0b3IoRWxlbWVudCogZWxlbWVudCkKIAogfSAvLyBuYW1lc3BhY2UKIAotY2xhc3MgSFRN
TFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1
ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1
ZmZlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgRXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZl
cihBdG9taWNIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fY3VycmVudCh0b2tlbi5jaGFy
YWN0ZXJzKCkuZGF0YSgpKQpAQCAtMjMzNCw3ICsyMzM1LDggQEAgdm9pZCBIVE1MVHJlZUJ1aWxk
ZXI6OnJlcHJvY2Vzc0VuZFRhZyhBdG9taWNIVE1MVG9rZW4mIHRva2VuKQogICAgIHByb2Nlc3NF
bmRUYWcodG9rZW4pOwogfQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25N
b2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RmFrZUlu
c2VydGlvbk1vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZha2VJbnNlcnRpb25Nb2Rl
KTsKIHB1YmxpYzoKICAgICBGYWtlSW5zZXJ0aW9uTW9kZShIVE1MVHJlZUJ1aWxkZXIqIHRyZWVC
dWlsZGVyLCBJbnNlcnRpb25Nb2RlIG1vZGUpCiAgICAgICAgIDogbV90cmVlQnVpbGRlcih0cmVl
QnVpbGRlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVy
LmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCmluZGV4IDBlNzU5N2Mu
Ljk2OWM3YTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaApAQCAtMzMsNyAr
MzMsNiBAQAogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCIKICNpbmNsdWRl
ICJIVE1MVG9rZW5pemVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAg
LTUwLDcgKzQ5LDggQEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTERvY3VtZW50OwogY2xh
c3MgTm9kZTsKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhUTUxUcmVlQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRy
ZWVCdWlsZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MVG9rZW5pemVyKiB0b2tlbml6
ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzLCBib29sIHVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwMyw3ICsyMDMsOCBAQCBwcml2YXRlOgog
ICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlNb2RlQW5kUmVzZXRNb2Rl
KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRGb3JlaWduSW5zZXJ0aW9u
TW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAgICBGcmFnbWVudFBhcnNp
bmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJh
Z21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGlu
Z0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKKysrIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBAIC0yOCw3ICsyOCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1bnNpZ25lZCYgbmVzdGlu
Z0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5nTGV2ZWwpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvV2ViQ29yZS9pbnNwZWN0
b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCA0ZTg4YmVjLi45MDJlZGMzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgU2NyaXB0Q2FsbEZyYW1l
OwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFsdWU7CiAKLWNsYXNzIENv
bnNvbGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbnNvbGVNZXNzYWdl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2FnZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCB1bnNpZ25lZCBsaSwg
Y29uc3QgU3RyaW5nJiB1LCB1bnNpZ25lZCBnKTsKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIFBhc3NP
d25QdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc093blB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNp
Z25lZCBnKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCmluZGV4IGY4MGNmYjQuLmZmOGQz
OGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtMzQsNyArMzQsNiBAQAogI2lu
Y2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAppbmRl
eCAxMWYxMGNlLi43YjNlOTJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpICYmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCiAKICNpbmNsdWRl
ICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQw
LDcgKzM5LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIElu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0
b3JDb250cm9sbGVyLCBJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaAppbmRleCBjYTVhOWQ5Li5mOWMxMDQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oCkBAIC0xMDEsNyArMTAxLDggQEAgY2xhc3MgV2ViU29ja2V0SGFu
ZHNoYWtlUmVxdWVzdDsKIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlOwogI2VuZGlm
CiAKLWNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSW5zcGVjdG9yQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlw
ZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U+ID4gRGF0
YWJhc2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3Bl
Y3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01TdG9yYWdlUmVzb3VyY2VzTWFwOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4IDk1MDFhYzguLjAzMTYw
OTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTUy
LDcgKzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAgICAgTmF0aXZlQnJlYWtwb2lu
dERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDog
cHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckRl
YnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKiwgSW5zcGVjdG9yRnJvbnRl
bmQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKaW5kZXggOWRjYWE1
YS4uNGFhODdlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsK
IGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBwdWJs
aWMgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsKEluc3BlY3RvckNvbnRyb2xsZXIqLCBQYWdlKik7CiAgICAgdmlydHVh
bCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5oCmluZGV4IGMxZjVkYjEuLmIxYThiZTUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKQEAgLTM1LDcgKzM1LDYgQEAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Nyw3ICs0
Niw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIFNjcmlwdEhlYXBTbmFwc2hvdDsK
IGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKLWNsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIH5J
bnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4uYTZiYTNkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyArNzAsOCBAQCBlbnVtIFRpbWVsaW5l
UmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3RUaW1lbGluZVJlY29yZFR5
cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZl
bnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5k
KTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggYi9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaAppbmRleCA1NGM2YmJhLi4xMzFlMTMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIFNjcmlwdENhbGxTdGFja19oCiAK
ICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgSW5zcGVjdG9yQXJyYXk7CiAKLWNsYXNzIFNjcmlwdENhbGxTdGFjayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNjcmlwdENhbGxTdGFjayk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBt
YXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlID0gMjAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmggYi9XZWJDb3JlL2xvYWRlci9D
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKaW5kZXggMTAxNmFlZC4uNWQ4NDliZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
aApAQCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSFRUUEhl
YWRlck1hcDsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0pOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0oYm9vbCBjcmVkZW50aWFscykKICAgICAgICAgICAgIDog
bV9hYnNvbHV0ZUV4cGlyeVRpbWUoMCkKQEAgLTYzLDcgKzY0LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBIZWFkZXJzU2V0IG1faGVhZGVyczsKICAgICB9OwogCi0gICAgY2xhc3Mg
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIENyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUuLjkzZTc0MzkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwogCiAgICAgY2xh
c3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIsIHByaXZhdGUgU3VicmVz
b3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
RG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9jdW1lbnQqLCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3Jp
dGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCmluZGV4IDVmYjNkYzEuLmZi
OTM2MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBG
cmFtZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsK
IAotY2xhc3MgRG9jdW1lbnRXcml0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRG9j
dW1lbnRXcml0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50V3JpdGVyKTsK
IHB1YmxpYzoKICAgICBEb2N1bWVudFdyaXRlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CmluZGV4IGExNWNlZTUuLjMxMTk1M2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0yMTQsOCAr
MjE0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNs
aWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RnJhbWVMb2FkZXJDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSB7
IH0KICAgICB2aXJ0dWFsIH5FbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkgeyAgfQogICAgIHZpcnR1
YWwgdm9pZCBmcmFtZUxvYWRlckRlc3Ryb3llZCgpIHsgfQogCkBAIC0zODMsOCArMzg1LDEwIEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4g
Y3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVybiBQYXNzUmVmUHRyPEZyYW1lTmV0d29y
a2luZ0NvbnRleHQ+KCk7IH0KIH07CiAKLWNsYXNzIEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGlj
IEVkaXRvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RWRpdG9yQ2xp
ZW50IDogcHVibGljIEVkaXRvckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1w
dHlFZGl0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEVt
cHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlFZGl0b3JDbGllbnQoKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpIHsgfQogCkBAIC00OTYsOCArNTAw
LDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLWNsYXNzIEVt
cHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQ29udGV4dE1lbnVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRl
eHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUNvbnRleHRNZW51
Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUNvbnRl
eHRNZW51Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlDb250ZXh0TWVudUNsaWVudCgp
IHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NTE5LDggKzUyNSwxMCBAQCBwdWJsaWM6CiAjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMp
CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVi
bGljIERyYWdDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eURyYWdDbGll
bnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlE
cmFnQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eURy
YWdDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eURyYWdDbGllbnQoKSB7fQogICAgIHZp
cnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRp
b25BY3Rpb24sIERyYWdEYXRhKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJh
Z1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25zdCBJbnRQb2ludCYsIENsaXBib2Fy
ZCopIHsgfQpAQCAtNTMyLDggKzU0MCwxMCBAQCBwdWJsaWM6CiB9OwogI2VuZGlmIC8vIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAKLWNsYXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIElu
c3BlY3RvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5SW5zcGVjdG9y
Q2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRW1wdHlJbnNwZWN0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlJbnNw
ZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQo
KSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmggYi9XZWJD
b3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCmluZGV4IGQ3MjQ4MzUuLjdmNThmOTEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvRm9ybVN1Ym1pc3Npb24uaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBGb3JtU3VibWlzc2lv
biA6IHB1YmxpYyBSZWZDb3VudGVkPEZvcm1TdWJtaXNzaW9uPiB7CiBwdWJsaWM6CiAgICAgZW51
bSBNZXRob2QgeyBHZXRNZXRob2QsIFBvc3RNZXRob2QgfTsKIAotICAgIGNsYXNzIEF0dHJpYnV0
ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEF0dHJpYnV0ZXMgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdHRyaWJ1dGVzKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IEF0dHJpYnV0ZXMoKQogICAgICAgICAgICAgOiBtX21ldGhvZChHZXRNZXRob2QpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuaAppbmRleCA3NmFkOTc3Li42YTc2M2QwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTg2
LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCiBib29sIGlzQmFja0ZvcndhcmRM
b2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAotY2xhc3MgRnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlcihGcmFtZSosIEZyYW1lTG9h
ZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBjMzQwOGMyLi4xZGRmMmVhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogI2lmbmRlZiBG
cmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAjZGVmaW5lIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5l
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRlIG1hY2hpbmUgZm9yIEZyYW1lTG9hZGVyLiBOb3Rl
IHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBGcmFtZVN0YXRlLAogLy8gd2hpY2ggc3RvcmVz
IHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBsb2FkIHRoYXQgRnJhbWVMb2FkZXIgaXMgZXhlY3V0
aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJv
bGxlci5oIGIvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAppbmRleCAxMDAyZGJj
Li4wNDE4Mjk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYg
QEAKIAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBGcmFt
ZTsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogCi1j
bGFzcyBIaXN0b3J5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIaXN0
b3J5Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGlzdG9yeUNvbnRyb2xs
ZXIpOwogcHVibGljOgogICAgIGVudW0gSGlzdG9yeVVwZGF0ZVR5cGUgeyBVcGRhdGVBbGwsIFVw
ZGF0ZUFsbEV4Y2VwdEJhY2tGb3J3YXJkTGlzdCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5k
ZXggOTRhMjFhNC4uNmE1NGU4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtNTcsNyArNTcs
OCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZUNoZWNrPFdlYkNvcmU6OkltYWdlTG9hZGVyKj4g
ewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEltYWdlRXZlbnRTZW5kZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VFdmVudFNlbmRlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSW1hZ2VFdmVudFNlbmRlcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
IGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggMjhmZGE5YS4u
MjQ5NWIxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5j
cHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTUxLDcg
KzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTY2hlZHVsZWROYXZpZ2F0
aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZE5hdmlnYXRpb24pOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNjaGVkdWxlZE5hdmlnYXRpb24oZG91YmxlIGRl
bGF5LCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QsIGJvb2wgd2Fz
RHVyaW5nTG9hZCwgYm9vbCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAgICA6IG1fZGVsYXkoZGVs
YXkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmggYi9X
ZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKaW5kZXggM2JmNTAxMC4uMTdhZTg4
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBj
bGFzcyBGcmFtZTsKIHN0cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogY2xhc3MgU2NoZWR1bGVkTmF2
aWdhdGlvbjsKIAotY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShOYXZpZ2F0aW9uU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBOYXZpZ2F0aW9uU2NoZWR1bGVy
KEZyYW1lKik7CiAgICAgfk5hdmlnYXRpb25TY2hlZHVsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAppbmRl
eCBlYjQzMTY2Li45MjY4YjI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC0zNCw3ICszNCw2IEBACiAK
ICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CiAvLyB0byBhbGxvdyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5vdWdoIHRvIGVuc3VyZSB0
aGUgbWVzc2FnZSB3YXMgYWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9yZSwgYXMgc29vbiBhcyBh
IGNhbGxiYWNrIGlzIHJlY2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFuZGxlLCB0aGlzIGNsYXNz
IAogLy8gd2lsbCBjYW5jZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNlbGYuCi1jbGFzcyBQaW5n
TG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkSW1hZ2UoRnJhbWUqLCBjb25zdCBLVVJM
JiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIHNlbmRQaW5nKEZyYW1lKiwgY29uc3QgS1VSTCYgcGlu
Z1VSTCwgY29uc3QgS1VSTCYgZGVzdGluYXRpb25VUkwpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCmlu
ZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKQEAgLTQ1LDcgKzQ1
LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFz
cyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBQb2xpY3lDaGVja2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFBvbGljeUNoZWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBvbGljeUNoZWNrZXIpOwogcHVibGljOgogICAgIFBvbGljeUNoZWNrZXIoRnJhbWUqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1dlYkNvcmUv
bG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggY2QxNTQzMy4uMWJkMTlhNSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9XZWJDb3JlL2xv
YWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01MCw3ICs1MCw5IEBAIHN0YXRpYyBjb25zdCBk
b3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBpbml0aWFsUHJvZ3Jlc3NW
YWx1ZQogCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzSXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5n
dGggPSAxMDI0ICogMTY7CiAKLXN0cnVjdCBQcm9ncmVzc0l0ZW0gOiBOb25jb3B5YWJsZSB7Citz
dHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc0l0
ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFByb2dyZXNzSXRlbShs
b25nIGxvbmcgbGVuZ3RoKSAKICAgICAgICAgOiBieXRlc1JlY2VpdmVkKDApCiAgICAgICAgICwg
ZXN0aW1hdGVkTGVuZ3RoKGxlbmd0aCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCmluZGV4
IDVkNWI2YjIuLjhjNGEwZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJh
Y2tlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCkBAIC0yNyw3ICsy
Nyw2IEBACiAjZGVmaW5lIFByb2dyZXNzVHJhY2tlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzYsNyArMzUsOCBAQCBjbGFzcyBGcmFtZTsK
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBzdHJ1Y3QgUHJvZ3Jlc3NJdGVtOwogCi1jbGFzcyBQ
cm9ncmVzc1RyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUHJvZ3Jlc3NUcmFj
a2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc1RyYWNrZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlcigpOwogICAgIH5Q
cm9ncmVzc1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaCBi
L1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAppbmRleCBiNmRlMzEyLi45NmY3YjFiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVz
dC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNo
ZWRSZXNvdXJjZTsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNz
IFJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlcXVlc3QgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXF1ZXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIFJlcXVlc3QoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBD
YWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwsIFNlY3VyaXR5Q2hlY2tQb2xpY3ksIGJv
b2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyk7CiAgICAgICAgIH5SZXF1ZXN0KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oIGIvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAppbmRleCAyZjEwODU2Li4yNzA0MDZhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpZm5k
ZWYgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogI2RlZmluZSBSZXNvdXJjZUxvYWROb3RpZmllcl9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC00Myw3ICs0Miw4IEBAIGNsYXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkTm90
aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlTG9hZE5vdGlmaWVyKTsKIHB1Ymxp
YzoKICAgICBSZXNvdXJjZUxvYWROb3RpZmllcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZFNjaGVkdWxlci5oCmluZGV4IDg0Zjg4NDUuLjI5Yzc0ZGQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8d3Rm
L0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDIsOCBAQCBjbGFz
cyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFN1YnJl
c291cmNlTG9hZGVyQ2xpZW50OwogCi1jbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWRTY2hlZHVsZXIpOwogcHVibGljOgogICAgIGZy
aWVuZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCkBA
IC02Niw3ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1Jl
cXVlc3RzKCk7CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRT
Y2hlZHVsZXI+Kik7CiAKLSAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhvc3RJbmZvcm1hdGlvbik7CiAgICAgcHVibGljOgogICAgICAgICBIb3N0SW5m
b3JtYXRpb24oY29uc3QgU3RyaW5nJiwgdW5zaWduZWQpOwogICAgICAgICB+SG9zdEluZm9ybWF0
aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRleCBhNTczMDQ1Li5kMTFkOWI5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU0LDcgKzUzLDggQEAgY2xhc3MgTm9kZTsK
IGNsYXNzIFdpZGdldDsKIAogLy8gVGhpcyBpcyBhIHNsaWdodCBtaXNub21lci4gSXQgaGFuZGxl
cyB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljIG9mIGxvYWRpbmcgYm90aCBzdWJmcmFtZXMgYW5kIHBs
dWdpbnMuCi1jbGFzcyBTdWJmcmFtZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTdWJmcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3ViZnJhbWVMb2Fk
ZXIpOwogcHVibGljOgogICAgIFN1YmZyYW1lTG9hZGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuaAppbmRleCBmNDFhNzc0Li5iYzFhM2JhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJfaAog
I2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFVzZWZ1bCBm
b3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2Fm
ZSwgCiAgICAgLy8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1h
aW4gdGhyZWFkKS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
dm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFk
YWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRl
ck9wdGlvbnMmKTsKQEAgLTc1LDYgKzc1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2b2lkIGRlcmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQogCiAgICAgcHJvdGVj
dGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRo
cmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVM
b2FkZXIoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIo
KSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKaW5kZXggYmNmNjhi
ZS4uOGU1Mjc0MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNs
aWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAt
MzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogI2RlZmlu
ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAg
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIC8qYnl0ZXNTZW50Ki8sIHVuc2ln
bmVkIGxvbmcgbG9uZyAvKnRvdGFsQnl0ZXNUb0JlU2VudCovKSB7IH0KIApAQCAtNTEsNiArNTEs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
QXV0aGVudGljYXRpb25DYW5jZWxsYXRpb24oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIHsgfQog
CiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXJDbGllbnQoKSB7IH0KICAgICB9OwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5o
IGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAppbmRleCBk
M2MxYTlmLi5kNGZlYWNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50V3JhcHBlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJD
bGllbnRXcmFwcGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudFdyYXBwZXJfaAogCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRh
YmxlTG9hZGVyLmgKaW5kZXggODFkYTJlMC4uZTg5MTNlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1dvcmtl
clRocmVhZGFibGVMb2FkZXIuaApAQCAtNTQsNiArNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YTsKIAogICAgIGNsYXNz
IFdvcmtlclRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291
cmNlU3luY2hyb25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVhZGFibGVMb2FkZXI+IGNyZWF0
ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBj
bGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaCBiL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCmluZGV4IDI5ZDA3NDku
LmQwZGYxMGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGll
bnQuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KIApAQCAtNTMsNyArNTIsOCBAQCBlbnVtIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVPcHRpb24g
ewogICAgIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJvd3NpbmdDb250ZXh0CiB9Owog
Ci1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUsIFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IFJlc291cmNl
SGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hl
R3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFwcGxpY2F0aW9u
Q2FjaGVHcm91cChjb25zdCBLVVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7
ICAgIAogICAgIH5BcHBsaWNhdGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCmluZGV4IDhhYzUzNTcuLjY1YzNhOGIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgK
KysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaApAQCAt
NTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSBTdGF0dXMgbnVt
ZXJpYyB2YWx1ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgSFRNTDUgc3BlYy4KICAgICAgICAgZW51
bSBTdGF0dXMgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZVN0b3JhZ2UuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlLmgKaW5kZXggN2RiMzRlNi4uMDBiMjljODUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaApAQCAtNDQsNyArNDQsOCBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJuYWw7CiBjbGFzcyBTZWN1
cml0eU9yaWdpbjsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEZhaWx1cmVSZWFzb24gewogICAgICAgICBPcmlnaW5R
dW90YVJlYWNoZWQsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24uaCBiL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbi5oCmluZGV4IDlkNjMwZDEuLjY2ZmI5YTggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCkBAIC0zOSw3ICsz
OSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29s
bGVjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcmNoaXZlUmVzb3VyY2VDb2xsZWN0
aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBBcmNoaXZlUmVzb3Vy
Y2VDb2xsZWN0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4
IGVkNjBmODQuLjBiYmQ1OWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApA
QCAtNDksNyArNDksOCBAQCBjbGFzcyBSZXF1ZXN0OwogLy8gQSByZXNvdXJjZSB0aGF0IGlzIGhl
bGQgaW4gdGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRvIHVzZSB0aGlzIG9iamVjdCBzaG91
bGQgZGVyaXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50LCB0byBnZXQgdGhlIGZ1bmN0
aW9uIGNhbGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRhIGhhcyBhcnJpdmVkLgogLy8gVGhp
cyBjbGFzcyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5pY2F0aW9uIHdpdGggdGhlIGxvYWRl
ciB0byBvYnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5ldHdvcmsuCi1jbGFzcyBDYWNoZWRS
ZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAgICBmcmllbmQgY2xhc3Mg
SW5zcGVjdG9yUmVzb3VyY2U7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaAppbmRleCAyNzVkMzMxLi40NjdiNWRkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKQEAgLTQ1LDggKzQ1LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAqIGluaGVyaXQgZnJvbSB0aGlzIGNsYXNzIGFuZCBvdmVybG9hZCBv
bmUgb2YgdGhlIDMgZnVuY3Rpb25zCiAgICAgICoKICAgICAgKi8KLSAgICBjbGFzcyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlCisgICAgY2xhc3MgQ2FjaGVkUmVz
b3VyY2VDbGllbnQKICAgICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBmMzcxYTBl
Li43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJMOwogCiAv
LyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBzY3JpcHRz
L2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJj
ZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogZnJp
ZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAppbmRl
eCBiZjBmMzJjLi45ZWUzYTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTMx
LDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2gu
aD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2YXJpYWJs
ZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1vcnkgc28g
d2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRoaXMuCiAK
LWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lbW9yeUNh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNoZSgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4IEBAIGVu
dW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1jbGFzcyBJ
Y29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0YWJhc2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAgICB2b2lk
IHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25E
YXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVmaW5lIElj
b25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhvZHMgd2ls
bCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3ByaWF0ZSBt
ZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGll
bnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZp
cnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3Jt
SW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJl
bW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25M
b2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFlYmFjNDgu
LmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCisr
KyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2IEBACiAK
ICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIEZyYW1l
OwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxvYWRlciA6
IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1l
Kik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24v
UGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5k
ZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdl
VVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAg
LTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBpY29uVVJM
OwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJMUmVjb3Jk
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNv
bnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKaW5kZXgg
ODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJT
dWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50Lmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDgg
KzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxv
YWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVibGljIE5v
bmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBM
b2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0KICAgICAg
ICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlcios
IENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5Q2hlY2tQ
b2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyA9
IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5o
IGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjMx
MTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAor
KysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBj
bGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGlj
IEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0
IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29k
ZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAgICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlv
bkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhj
ZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4NTRiMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lm
bmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNvbnRyb2xs
ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnQ7
CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51Q29udHJv
bGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRNZW51Q29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9X
ZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAgICAKLSAg
ICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
RHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFnQ29udHJv
bGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBEcmFn
Q29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5o
CkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lz
OwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERv
bnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAg
IH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAg
UGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFn
U3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhhbmRsZXJE
cmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8gZWxlbWVu
dCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2UgZ2VzdHVy
ZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2RyYWdTcmNJ
c0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFk
YWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8
RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVudFNv
dXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
RXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5oCmluZGV4IDA1MGEwOGYuLjk1Y2MzZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVy
LmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1
ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsKIGNs
YXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5i
YWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29y
ZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0
aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1l
KHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZmUwYmU2YS4uYTkyODgzMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJl
cGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVt
YmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9y
ZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJh
dGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2
ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVsZWRFdmVu
dCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9kZT4gbV9l
dmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250
cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5kZXggMmQ4
MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJv
bGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApAQCAtMzAs
NyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBHZW9s
b2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBhZ2U7CiAK
LWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xv
Y2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKFBh
Z2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xsZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3JlL3BhZ2Uv
R3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3Mu
aApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBhZ2VHcm91
cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBH
cm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRpbmdzKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxH
cm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Q
YWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLmFmMmM1ODEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAt
MjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVkdWxlUGFp
ci5oIgpAQCAtODksMTIgKzg4LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGVudW0g
RmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dh
cmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFBhZ2UgewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRT
dHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7CiAKICAgICAgICAgLy8gSXQgaXMgdXAgdG8gdGhlIHBs
YXRmb3JtIHRvIGVuc3VyZSB0aGF0IG5vbi1udWxsIGNsaWVudHMgYXJlIHByb3ZpZGVkIHdoZXJl
IHJlcXVpcmVkLgotICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgOiBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYWdlQ2xpZW50cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1Ymxp
YzoKICAgICAgICAgICAgIFBhZ2VDbGllbnRzKCk7CiAgICAgICAgICAgICB+UGFnZUNsaWVudHMo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oIGIvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cC5oCmluZGV4IGNjNDdmYmEuLjE0ZGI0OTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9QYWdlR3JvdXAuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKQEAgLTI3LDcg
KzI3LDYgQEAKICNkZWZpbmUgUGFnZUdyb3VwX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiTGlua0hhc2guaCIKICNp
bmNsdWRlICJVc2VyU2NyaXB0LmgiCiAjaW5jbHVkZSAiVXNlclN0eWxlU2hlZXQuaCIKQEAgLTQx
LDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xh
c3MgU3RvcmFnZU5hbWVzcGFjZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3VwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFnZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIFBhZ2VHcm91cChjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgICAgICBQYWdlR3JvdXAo
UGFnZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5o
IGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmluZGV4IGQ0NDNlYmQuLmY3
OTU2YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAor
KysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKQEAgLTI4LDcgKzI4LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIFBhZ2U7
CiAKLSAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBhZ2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVibGljOgogICAgICAgICBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxmKTsKICAgICAgICAgflBh
Z2VHcm91cExvYWREZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4IGFmOGIzMWUuLjViNzA3
MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvUGx1Z2luSGFsdGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBIYWx0YWJsZVBsdWdpbjsKIAotY2xhc3MgUGx1Z2luSGFsdGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpbkhhbHRlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGx1Z2luSGFsdGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBQbHVnaW5IYWx0ZXIoUGx1Z2luSGFsdGVyQ2xpZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMWUzYzI4
Ny4uNDE1MmE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAot
ICAgIGNsYXNzIFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTZXR0
aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmggYi9XZWJDb3JlL3BhZ2UvU3Bl
ZWNoSW5wdXQuaAppbmRleCA0NTMyZDQ5Li44NTNjMGFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvU3BlZWNoSW5wdXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaApAQCAtMzYs
NyArMzYsNiBAQAogI2luY2x1ZGUgIlNwZWVjaElucHV0TGlzdGVuZXIuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNyArNDYsOCBAQCBj
bGFzcyBTcGVlY2hJbnB1dExpc3RlbmVyOwogLy8gVGhpcyBjbGFzcyBjb25uZWN0cyB0aGUgaW5w
dXQgZWxlbWVudHMgcmVxdWlyaW5nIHNwZWVjaCBpbnB1dCB3aXRoIHRoZSBwbGF0Zm9ybSBzcGVj
aWZpYwogLy8gc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZS4gSXQgcHJvdmlkZXMgbWV0aG9kcyBm
b3IgdGhlIGlucHV0IGVsZW1lbnRzIHRvIGFjdGl2YXRlIHNwZWVjaAogLy8gcmVjb2duaXRpb24g
YW5kIG1ldGhvZHMgZm9yIHRoZSBzcGVlY2ggcmVjb2duaXRpb24gZW5naW5lIHRvIHJldHVybiBi
YWNrIHRoZSByZXN1bHRzLgotY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgTm9uY29weWFibGUs
IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKK2NsYXNzIFNwZWVjaElucHV0IDogcHVibGlj
IFNwZWVjaElucHV0TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwZWVjaElu
cHV0KTsKIHB1YmxpYzoKICAgICBTcGVlY2hJbnB1dChTcGVlY2hJbnB1dENsaWVudCopOwogICAg
IHZpcnR1YWwgflNwZWVjaElucHV0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVXNlclNj
cmlwdC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAppbmRleCAwNjUyNDM5Li5jZDNkMGY1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCisrKyBiL1dlYkNvcmUvcGFn
ZS9Vc2VyU2NyaXB0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBVc2VyU2NyaXB0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTY3Jp
cHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTY3JpcHQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2Us
IGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmlu
Zz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaCBiL1dlYkNvcmUvcGFnZS9V
c2VyU3R5bGVTaGVldC5oCmluZGV4IGZhNDJlMmMuLjI0Nzk4NGUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCisrKyBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVl
dC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNl
clN0eWxlU2hlZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclN0eWxlU2hlZXQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTdHlsZVNoZWV0KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBVc2VyU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHNv
dXJjZSwgY29uc3QgS1VSTCYgdXJsLAogICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVj
dG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFj
a2xpc3QsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvV2ViQ29yZS9w
YWdlL1hTU0F1ZGl0b3IuaAppbmRleCAyYjc4MWYxLi40OTA3MWQyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvWFNTQXVkaXRvci5oCisrKyBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAg
LTY5LDcgKzY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICogSFRNTERvY3VtZW50
UGFyc2VyOjpzaG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4
dGVybmFsIEphdmFTY3JpcHQgc2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1
ZXN0T2JqZWN0IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxlbWVudHMuCiAgICAg
Ly8KLSAgICBjbGFzcyBYU1NBdWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBYU1NBdWRpdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBYU1NBdWRpdG9y
KEZyYW1lKik7CiAgICAgICAgIH5YU1NBdWRpdG9yKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcAppbmRleCBhZDUyNTdlLi5kNWI2ODY4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKQEAgLTIxOSw3ICsyMTksOCBAQCBjbGFzcyBQcm9w
ZXJ0eVdyYXBwZXJCYXNlOwogc3RhdGljIHZvaWQgYWRkU2hvcnRoYW5kUHJvcGVydGllcygpOwog
c3RhdGljIFByb3BlcnR5V3JhcHBlckJhc2UqIHdyYXBwZXJGb3JQcm9wZXJ0eShpbnQgcHJvcGVy
dHlJRCk7CiAKLWNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvcGVydHlXcmFwcGVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgUHJvcGVydHlXcmFwcGVyQmFzZShpbnQgcHJvcCkKICAgICAgICAgOiBtX3Byb3AocHJvcCkK
QEAgLTQzOCw3ICs0MzksOCBAQCBwdWJsaWM6CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K
LWNsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQ
cm9wZXJ0eVdyYXBwZXJCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRmlsbExheWVy
UHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJh
c2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdl
dHRlcik7CiBwdWJsaWM6CiAgICAgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKFQgKEZp
bGxMYXllcjo6KmdldHRlcikoKSBjb25zdCkKICAgICAgICAgOiBtX2dldHRlcihnZXR0ZXIpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2
YXRlLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
LmgKaW5kZXggODkzYzcxNy4uZWE3OGNjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtNDksNyArNDksOCBAQCBjbGFz
cyBOb2RlOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLWNsYXNz
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQ29tcG9zaXRlQW5pbWF0aW9uLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0
ZUFuaW1hdGlvbi5oCmluZGV4IDI0OWY0YzMuLjBkMGJiMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUg
IkltcGxpY2l0QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVBbmltYXRpb24uaCIKICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IDJkYjcxM2YuLmI5OGJjYjIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCkBAIC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2
ZW50SGFuZGxlcjo6Y3VycmVudE5TRXZlbnQoKQogICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNs
b3QoKS5nZXQoKTsKIH0KIAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDdXJyZW50RXZlbnRTY29wZSk7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUo
TlNFdmVudCAqKTsKICAgICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCmluZGV4IGQ5NmMxYWQuLmMzNGE2NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVT
eXN0ZW0uaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7
CiBjbGFzcyBBc3luY0ZpbGVXcml0ZXJDbGllbnQ7CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMg
YXN5bmMgaW50ZXJmYWNlIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1l
bnRhdGlvbi4gIE5vdGUgdGhhdCBhbGwgdGhlIG1ldGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4K
LWNsYXNzIEFzeW5jRmlsZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3lu
Y0ZpbGVTeXN0ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+QXN5bmNGaWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCmluZGV4IDI5MGE2NjkuLjdkODYy
ZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tz
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAt
NDEsNyArNDEsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW07CiBjbGFzcyBBc3luY0ZpbGVXcml0
ZXI7CiBzdHJ1Y3QgRmlsZU1ldGFkYXRhOwogCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFj
a3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tz
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MpOwog
cHVibGljOgogICAgIC8vIENhbGxlZCB3aGVuIGEgcmVxdWVzdGVkIG9wZXJhdGlvbiBpcyBjb21w
bGV0ZWQgc3VjY2Vzc2Z1bGx5LgogICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVkKCkgPSAwOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKaW5kZXggZDQ0ZWUxZS4uZDY1NTQzMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIEF1dG9k
cmFpbmVkUG9vbF9oCiAjZGVmaW5lIEF1dG9kcmFpbmVkUG9vbF9oCiAKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogI2lmZGVmIF9fT0JKQ19fCiBAY2xhc3MgTlNBdXRvcmVsZWFzZVBv
b2w7CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIEF1dG9kcmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBBdXRvZHJhaW5lZFBvb2wgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1
dG9kcmFpbmVkUG9vbCk7CiBwdWJsaWM6CiAgICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRp
b25MaW1pdCA9IDEpOwogICAgIH5BdXRvZHJhaW5lZFBvb2woKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUu
aAppbmRleCBhMTYyZmU0Li5lNzkxYjJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIENvbnRleHRNZW51X2gKICNkZWZpbmUgQ29udGV4dE1lbnVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlICJDb250ZXh0TWVudUl0
ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDb250ZXh0TWVudUNsaWVudEVmbDsKICNlbmRpZgog
Ci0gICAgY2xhc3MgQ29udGV4dE1lbnUgOiBwdWJsaWMgTm9uY29weWFibGUKLSAgICB7CisgICAg
Y2xhc3MgQ29udGV4dE1lbnUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0
TWVudSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDb250
ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0Jik7CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0
IEhpdFRlc3RSZXN1bHQmLCBjb25zdCBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Db250ZXh0TWVudUl0ZW0uaAppbmRleCBlNzAyOTIxLi4xMTI2NTRjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmgKQEAgLTI1Miw3ICsyNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb247CiAjZW5kaWYK
IAotICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICBjbGFzcyBDb250ZXh0TWVudUl0ZW0geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKFBsYXRmb3JtTWVudUl0ZW1E
ZXNjcmlwdGlvbik7CiAgICAgICAgIENvbnRleHRNZW51SXRlbShDb250ZXh0TWVudSogc3ViTWVu
dSA9IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCmluZGV4IDQ3Y2Q1MzguLjI2
YzdhOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKQEAgLTMzLDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVj
YXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0
ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewordGVtcGxhdGUgPGNsYXNzIFQ+IGNs
YXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxfaXRl
bShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRlbF9p
dGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdElt
cGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmluZGV4
IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0
SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5jbHVk
ZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVjYXRl
ZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlzdE5v
ZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZExpc3ROb2RlKHZvaWQg
KmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKaW5k
ZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExv
b3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCkBAIC0yNiwxMSArMjYsMTEg
QEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZlbnRMb29wX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBF
dmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TG9vcCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9vcCk7CiAgICAgcHVibGljOgogICAg
ICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2NS4uZjYyN2M2OCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEdl
b2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0aW9uU2VydmljZV9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3
ICs0MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJy
b3JPY2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2Nh
dGlvblNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2
aWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVi
bGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNl
cnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93
LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9z
dFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRn
ZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhv
c3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3co
KSB7IH0KIAogICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywg
bm90IHRoZSBjb250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3Vz
bHksIG90aGVyd2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJp
bmcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9LaWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25z
dCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLjY4OTc3NjIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGgu
aApAQCAtMzUsNyArMzUsOSBAQCBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZm
ZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBl
IHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWlu
SW50cmluc2ljIH07CiAKLXN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBM
ZW5ndGggeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3Ro
KCkKICAgICAgICAgOiBtX3ZhbHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3
YzUwNzM3Li40OTZmYmIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgxLDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJh
bmdlOwogY2xhc3MgQXJjaGl2ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgLy9IZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2Fy
ZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5
Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApp
bmRleCBiYzI4ZTg0Li42YTM2MzE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtS2V5Ym9hcmRFdmVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2Fy
ZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50
MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRF
dmVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJk
RXZlbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAg
ICAgICAgZW51bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0
Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBh
Ym91dCBib3RoIHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2Vh
YmxlQnVmZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdl
YWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVm
ZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3Jl
YXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRp
bWVyLmgKaW5kZXggNjVmMjUzZS4uZjhjNTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9SdW5Mb29wVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBA
IC0zMCwxNSArMzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNj
aGVkdWxlUGFpci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFs
cyBhcmUgYWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFz
ZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2No
ZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhclRoZW1lLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5k
ZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXJUaGVtZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYs
OCArMzYsMTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwog
Y2xhc3MgU2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcm9sbGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBT
Y3JvbGxiYXJUaGVtZSgpIHsgfQogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAK
ICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4uMTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApA
QCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVk
VGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIC8vIEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBv
ZiBzaGFyZWQgdGltZXIsIHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8g
VGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAg
IC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNz
IGluc3RlYWQuCi0gICAgY2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hh
cmVkVGltZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAg
U2hhcmVkVGltZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBF
TkFCTEUoV09SS0VSUykKQEAgLTQ1LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFwcGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAot
ICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFRocmVhZEdsb2JhbERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJl
YWRHbG9iYWxEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsK
ICAgICAgICAgflRocmVhZEdsb2JhbERhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4
IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGlt
ZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcs
NiBAQAogI2lmbmRlZiBUaHJlYWRUaW1lcnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIFRpbWVyQmFzZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1l
cnMgcGVyIHRocmVhZC4gS2VwdCBpbiBUaHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVh
ZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAog
I2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5lIFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVh
cEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVh
bCB+VGltZXJCYXNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFy
ZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTMyLDcgKzMxLDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJl
ZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAj
ZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hh
cmVkKCkKICAgICAgICAgOiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlv
bi9BbmltYXRpb25MaXN0LmgKaW5kZXggOWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CitjbGFzcyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIEFuaW1hdGlvbkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNv
bnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4
YjgxLi4zOThlMTI3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVz
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gKIAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBt
b3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBUaGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bw
b3NlZCB0byAiaW50ZXJsZWF2ZWQiLgogLy8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBp
cyBtb25vLCBhbiBBdWRpb0J1cyB3aXRoIHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNs
YXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7
CiAgICAgICAgIENoYW5uZWxMZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5l
bC5oCmluZGV4IDY4MTY4MzAuLjczMjVlOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0No
YW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNp
bmNsdWRlICJBdWRpb0FycmF5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBB
dWRpb0NoYW5uZWwgcmVwcmVzZW50cyBhIGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRp
bmctcG9pbnQgYXVkaW8gc2FtcGxlcy4KIC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkg
YXNzdW1lZCB0byBiZSBpbiBhIG5vbWluYWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRp
b0NoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1l
bW9yeSBjYW4gYmUgZXh0ZXJuYWxseSByZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBh
bGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zsb2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZEYXRhYmFzZS5oCmluZGV4IGMzM2IzOGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9IUlRGRGF0YWJhc2UuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZh
dGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZLZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vSFJURkVsZXZhdGlvbi5oCmluZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhS
VEZFbGV2YXRpb25faAogCiAjaW5jbHVkZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2Yg
dGhlIEhSVEZLZXJuZWxzIChvbmUgbGVmdCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11
dGggYW5nbGUpIGZvciBhIHBhcnRpY3VsYXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0
aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEhSVEZFbGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRz
IGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFz
ZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZhdGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFt
ZXdvcmspIHJlc291cmNlcy4KICAgICAvLyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEg
c2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3Np
YmlsaXR5IG9mIG11bHRpcGxlIG9uZXMgd2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3Qg
RnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAg
ICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCAyZTRlOTYyLi42Y2Q3MDU4IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db2xvci5oCkBAIC03NSw3ICs3NSw4IEBAIGlubGluZSBpbnQgZ3JlZW5DaGFubmVs
KFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDgpICYgMHhGRjsgfQogaW5saW5lIGlu
dCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIGNvbG9yICYgMHhGRjsgfQogaW5s
aW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiAoY29sb3IgPj4gMjQp
ICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbG9y
KCkgOiBtX2NvbG9yKDApLCBtX3ZhbGlkKGZhbHNlKSB7IH0KICAgICBDb2xvcihSR0JBMzIgY29s
KSA6IG1fY29sb3IoY29sKSwgbV92YWxpZCh0cnVlKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCmluZGV4IDg3YTFjNWMuLjA3MjVhOTIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcApAQCAtMzAsNyArMzAsNiBA
QAogI2luY2x1ZGUgIkNvbnRleHRTaGFkb3cuaCIKIAogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHVzaW5nIFdURjo6bWluOwogdXNp
bmcgV1RGOjptYXg7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKaW5kZXgg
MTQ5ZWE3OS4uZjVkZDhiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cApAQCAtNTMsNyArNTMsOSBAQCBGb250Q2FjaGU6OkZvbnRDYWNoZSgpCiB7CiB9CiAKLXN0cnVj
dCBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBGb250
UGxhdGZvcm1EYXRhQ2FjaGVLZXkgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJs
aWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFt
aWx5ID0gQXRvbWljU3RyaW5nKCksIHVuc2lnbmVkIHNpemUgPSAwLCB1bnNpZ25lZCB3ZWlnaHQg
PSAwLCBib29sIGl0YWxpYyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGlzUHJpbnRlckZvbnQgPSBmYWxzZSwgRm9udFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9k
ZSA9IE5vcm1hbFJlbmRlcmluZ01vZGUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IEhv
cml6b250YWwpCiAgICAgICAgIDogbV9zaXplKHNpemUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuaAppbmRleCBlNjg0NWQ5Li40ZmE3NDE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwog
Y2xhc3MgRm9udFNlbGVjdG9yOwogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnRD
YWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250Q2FjaGUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udERhdGEuaAppbmRleCBlZTk0YTk4Li4wZWI2Njg1IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGF0YS5oCkBAIC0yNywxNCArMjcsMTQgQEAKICNkZWZpbmUgRm9udERhdGFf
aAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnREYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZvbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRm9udERhdGEo
KQogICAgICAgICA6IG1fbWF4R2x5cGhQYWdlVHJlZUxldmVsKDApCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAppbmRleCBmYTg1YmNjLi4zZTEzZmJiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKQEAgLTQwLDcgKzQw
LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsKIAogY29uc3QgZmxvYXQgY0dseXBo
U2l6ZVVua25vd24gPSAtMTsKIAotdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgR2x5cGhNZXRyaWNz
TWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEdseXBo
TWV0cmljc01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2x5cGhNZXRyaWNzTWFwKTsK
IHB1YmxpYzoKICAgICBHbHlwaE1ldHJpY3NNYXAoKSA6IG1fZmlsbGVkUHJpbWFyeVBhZ2UoZmFs
c2UpIHsgfQogICAgIH5HbHlwaE1ldHJpY3NNYXAoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggNzFhNGM0OC4uN2FlYmJkOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCkBAIC0zNCw3ICszNCw2IEBACiAj
aW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlBhdGguaCIKICNpbmNsdWRlICJUZXh0RGly
ZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogI2lmIFBMQVRGT1JNKENHKQpAQCAtMTUzLDcgKzE1Miw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSW50ZXJwb2xhdGlvbkhpZ2gKICAgICB9OwogCi0gICAg
Y2xhc3MgR3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBH
cmFwaGljc0NvbnRleHQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0Nv
bnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgR3Jh
cGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0Kik7CiAgICAgICAgIH5HcmFwaGlj
c0NvbnRleHQoKTsKQEAgLTM1Niw3ICszNTYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZvaWQgc2V0U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cyhib29sKTsKICAgICAgICAgYm9v
bCBzaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7CiAKLSAgICAgICAgY2xhc3MgV2lu
ZG93c0JpdG1hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFdpbmRvd3NC
aXRtYXAgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93c0JpdG1hcCk7
CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFdpbmRvd3NCaXRtYXAoSERDLCBJbnRTaXpl
KTsKICAgICAgICAgICAgIH5XaW5kb3dzQml0bWFwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggYzJkNWMyNC4uN2MwN2JlYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtMzEsNyAr
MzEsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gRklYTUU6IEZpbmQg
YSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9uIGZvciBOT19FUlJPUi4K
ICNpZiAoKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhXSU5ET1dTKSkgfHwgUExBVEZPUk0oV0lO
KSB8fCAoUExBVEZPUk0oUVQpICYmIE9TKFdJTkRPV1MpKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKaW5kZXggOTg1Y2FkOS4uMTlj
NjA2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHRQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHRQcml2YXRlLmgKQEAgLTg0LDcgKzg0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlm
CiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZhdGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZhdGUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQcml2YXRlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFByaXZhdGUo
KQogICAgICAgICAgICAgOiBtX3VwZGF0aW5nQ29udHJvbFRpbnRzKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCA5OTFjYTMyLi5lNWRkY2I5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtMTA0LDcgKzEw
NCw4IEBAIGNsYXNzIFRpbWluZ0Z1bmN0aW9uOwogLy8gQmFzZSBjbGFzcyBmb3IgYW5pbWF0aW9u
IHZhbHVlcyAoYWxzbyB1c2VkIGZvciB0cmFuc2l0aW9ucykuIEhlcmUgdG8KIC8vIHJlcHJlc2Vu
dCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgYmVpbmcgYW5pbWF0ZWQgdmlhIHRoZSBHcmFwaGljc0xh
eWVyLAogLy8gd2l0aG91dCBwdWxsaW5nIGluIHN0eWxlLXJlbGF0ZWQgZGF0YSBmcm9tIG91dHNp
ZGUgb2YgdGhlIHBsYXRmb3JtIGRpcmVjdG9yeS4KLWNsYXNzIEFuaW1hdGlvblZhbHVlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvblZhbHVlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShBbmltYXRpb25WYWx1ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQW5pbWF0aW9uVmFsdWUoZmxvYXQga2V5VGltZSwgUGFzc1JlZlB0cjxUaW1pbmdG
dW5jdGlvbj4gdGltaW5nRnVuY3Rpb24gPSAwKQogICAgICAgICA6IG1fa2V5VGltZShrZXlUaW1l
KQpAQCAtMTU2LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAKIC8vIFVzZWQgdG8gc3RvcmUgYSBzZXJp
ZXMgb2YgdmFsdWVzIGluIGEga2V5ZnJhbWUgbGlzdC4gVmFsdWVzIHdpbGwgYWxsIGJlIG9mIHRo
ZSBzYW1lIHR5cGUsCiAvLyB3aGljaCBjYW4gYmUgaW5mZXJyZWQgZnJvbSB0aGUgcHJvcGVydHku
Ci1jbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBL
ZXlmcmFtZVZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoS2V5ZnJhbWVWYWx1
ZUxpc3QpOwogcHVibGljOgogCiAgICAgS2V5ZnJhbWVWYWx1ZUxpc3QoQW5pbWF0ZWRQcm9wZXJ0
eUlEIHByb3BlcnR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCmluZGV4
IDgyMmEwZmYuLmQ1NGUwMDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVy
LmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBVbm11bHRp
cGxpZWQKICAgICB9OwogCi0gICAgY2xhc3MgSW1hZ2VCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIEltYWdlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW1hZ2VCdWZmZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gV2lsbCByZXR1cm4gYSBudWxsIHBvaW50ZXIgb24gYWxsb2NhdGlvbiBmYWlsdXJl
LgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IElu
dFNpemUmIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IENvbG9yU3BhY2VEZXZpY2VSR0Ip
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKaW5kZXggYWViMTU2MS4uOTFj
ZWU1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaApAQCAtMjgsNyAr
MjgsNiBAQAogI2RlZmluZSBJbWFnZVNvdXJjZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAogI2lmIFBMQVRGT1JNKFdYKQpAQCAtMTE3LDcgKzExNiw4IEBAIGNvbnN0IGludCBjQW5pbWF0
aW9uTG9vcE9uY2UgPSAwOwogY29uc3QgaW50IGNBbmltYXRpb25Mb29wSW5maW5pdGUgPSAtMTsK
IGNvbnN0IGludCBjQW5pbWF0aW9uTm9uZSA9IC0yOwogCi1jbGFzcyBJbWFnZVNvdXJjZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW1hZ2VTb3VyY2UpOwogcHVibGljOgogICAgIEltYWdlU291cmNlKGJvb2wgcHJl
bXVsdGlwbHlBbHBoYSA9IHRydWUsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUgPSBm
YWxzZSk7CiAgICAgfkltYWdlU291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCmluZGV4IGU4N2M1M2MuLjMxNjU0NzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyArMTQ3LDkgQEAgc3RhdGljIE1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1lZGlhUGxheWVyKE1lZGlhUGxheWVy
KiBwbGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0cnVjdCBNZWRpYVBsYXllckZhY3Rv
cnkgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3RvcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIE1lZGlhUGxheWVyRmFjdG9yeShDcmVhdGVNZWRpYUVuZ2luZVBs
YXllciBjb25zdHJ1Y3RvciwgTWVkaWFFbmdpbmVTdXBwb3J0ZWRUeXBlcyBnZXRTdXBwb3J0ZWRU
eXBlcywgTWVkaWFFbmdpbmVTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlQW5kQ29kZWNzKSAKICAg
ICAgICAgOiBjb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikKICAgICAgICAgLCBnZXRTdXBwb3J0ZWRU
eXBlcyhnZXRTdXBwb3J0ZWRUeXBlcykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaAppbmRleCBjOWMwNDJiLi43MWM5OWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtMTQ2LDcgKzE0NSw4IEBAIHB1Ymxp
YzoKICNlbmRpZgogfTsKIAotY2xhc3MgTWVkaWFQbGF5ZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTWVkaWFQbGF5ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxh
eWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKIAogICAgIHN0YXRpYyBQYXNz
T3duUHRyPE1lZGlhUGxheWVyPiBjcmVhdGUoTWVkaWFQbGF5ZXJDbGllbnQqIGNsaWVudCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGQ5
NTYyODYuLjY2OTgxOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaApAQCAtMzYsOCArMzYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgSW50UmVjdDsKIGNsYXNzIEludFNpemU7CiAKLWNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgTWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAgICAgdmlydHVhbCB+TWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVy
bCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRleCA4NmJhODMxLi43NmQ0M2FmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMTAxLDcgKzEwMSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgdm9pZCAoKlBhdGhBcHBsaWVyRnVuY3Rpb24pKHZvaWQq
IGluZm8sIGNvbnN0IFBhdGhFbGVtZW50Kik7CiAKLSAgICBjbGFzcyBQYXRoIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBhdGggeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUGF0aCgpOwogICAgICAgICB+UGF0aCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDU4
NDc3ZGIuLjhlM2EwNDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFj
a2luZ1N0b3JlLmgKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
R3JhcGhpY3NDb250ZXh0OwogY2xhc3MgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAKLWNsYXNz
IFRpbGVkQmFja2luZ1N0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGVkQmFj
a2luZ1N0b3JlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxlZEJhY2tpbmdTdG9yZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVGlsZWRCYWNraW5nU3RvcmUo
VGlsZWRCYWNraW5nU3RvcmVDbGllbnQqKTsKICAgICB+VGlsZWRCYWNraW5nU3RvcmUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKaW5kZXggZGFjMzFmOC4uNGYzOTRmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJG
b250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IEZUX0ZhY2VSZWNfKiAgRlRfRmFj
ZTsKIHR5cGVkZWYgc3RydWN0IF9jYWlyb19mb250X2ZhY2UgY2Fpcm9fZm9udF9mYWNlX3Q7CkBA
IC0zNSw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURh
dGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogcHVibGljOgogICAg
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoRlRfRmFjZSwgU2hhcmVkQnVmZmVyKik7CiAgICAgfkZv
bnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaAppbmRleCA2ZmMxYTBlLi44MTlmOTgxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCkBAIC0zOSw3
ICszOSw2IEBACiAjaW5jbHVkZSAiVGV4dHVyZS5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgRmxvYXRSZWN0
OwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBTaGFyZWRHcmFwaGljc0NvbnRleHQz
RDsKIAotY2xhc3MgR0xFUzJDYW52YXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR0xF
UzJDYW52YXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdMRVMyQ2FudmFzKTsKIHB1Ymxp
YzoKICAgICBHTEVTMkNhbnZhcyhTaGFyZWRHcmFwaGljc0NvbnRleHQzRCosIERyYXdpbmdCdWZm
ZXIqLCBjb25zdCBJbnRTaXplJik7CiAgICAgfkdMRVMyQ2FudmFzKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uaAppbmRleCA1MzFkNjUyLi4zYzcxYWM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKQEAgLTQz
LDcgKzQzLDYgQEAKICNpbmNsdWRlICJTa0JpdG1hcC5oIgogI2luY2x1ZGUgIlZpZGVvTGF5ZXJD
aHJvbWl1bS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0u
aAppbmRleCAxZjMzNTI3Li41MjZhODdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTMyLDE0
ICszMiwxNCBAQAogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIK
ICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIExheWVyUmVuZGVyZXJDaHJv
bWl1bTsKIGNsYXNzIExheWVyQ2hyb21pdW07CiAKLWNsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1
bSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlclN1cmZhY2VDaHJvbWl1bSk7CiAgICAgZnJp
ZW5kIGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBS
ZW5kZXJTdXJmYWNlQ2hyb21pdW0oTGF5ZXJDaHJvbWl1bSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKaW5kZXggYjZiZWY5
MS4uMjc1MTI1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9UcmFuc3BhcmVuY3lXaW4uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RyYW5zcGFyZW5jeVdpbi5oCkBAIC0zNSw3ICszNSw2IEBACiAKICNpbmNsdWRlICJBZmZp
bmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotI2luY2x1ZGUgIk5vbmNv
cHlhYmxlLmgiCiAjaW5jbHVkZSAid3RmL093blB0ci5oIgogCiBjbGFzcyBTa0JpdG1hcDsKQEAg
LTU0LDcgKzUzLDggQEAgY2xhc3MgVHJhbnNwYXJlbmN5V2luX09wYXF1ZUNvbXBvc2l0ZUxheWVy
X1Rlc3Q7CiAvLyB0aGF0IGlzIGNvbXBvc2l0ZWQgbGF0ZXIgbWFudWFsbHkuIFRoaXMgaXMgdG8g
Z2V0IGFyb3VuZCBXaW5kb3dzJyBpbmFiaWxpdHkKIC8vIHRvIGhhbmRsZSB0aGUgYWxwaGEgY2hh
bm5lbCwgc2VtaXRyYW5zcGFyZW50IHRleHQsIGFuZCB0cmFuc2Zvcm1lZCBmb3JtCiAvLyBjb250
cm9scy4KLWNsYXNzIFRyYW5zcGFyZW5jeVdpbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUcmFuc3BhcmVuY3lXaW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW5j
eVdpbik7CiBwdWJsaWM6CiAgICAgZW51bSBMYXllck1vZGUgewogICAgICAgICAvLyBObyBleHRy
YSBsYXllciBpcyBjcmVhdGVkLiBEcmF3aW5nIHdpbGwgaGFwcGVuIHRvIHRoZSBzb3VyY2UuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKaW5kZXggOWY3
OTg4OS4uMGY0Yzk1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
RHJhd2luZ0J1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdp
bmdCdWZmZXIuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIK
ICNpbmNsdWRlICJJbnRTaXplLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpZiBQ
TEFURk9STShNQUMpCkBAIC03Nyw3ICs3Niw4IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oQ0hST01JVU0pCi0gICAgY2xhc3MgV2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2lsbFB1Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQdWJsaXNoQ2FsbGJhY2spOwogICAgIHB1YmxpYzoKICAg
ICAgICAgdmlydHVhbCB+V2lsbFB1Ymxpc2hDYWxsYmFjaygpIHsgfQogICAgICAgICAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaApp
bmRleCBjNjY1ODQ0Li4xYmQ2N2I4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNpZm5k
ZWYgTG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAjZGVmaW5lIExvb3BCbGlubkNsYXNzaWZpZXJfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgRmxvYXRQb2ludDsKIAogLy8gQ2xhc3NpZmllcyBjdWJpYyBjdXJ2ZXMgaW50byBzcGVj
aWZpYyB0eXBlcy4KLWNsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTG9vcEJsaW5uQ2xhc3NpZmllcik7CiBwdWJsaWM6CiAgICAgLy8gVGhlIHR5cGVzIG9mIGN1
YmljIGN1cnZlcy4KICAgICBlbnVtIEN1cnZlVHlwZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAppbmRl
eCBlYTNkN2UzLi5kMDFlNmM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKQEAgLTMwLDE5ICszMCwy
MCBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0
YW50cy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gUGVyZm9ybXMgYSBsb2NhbGl6
ZWQgdHJpYW5ndWxhdGlvbiBvZiB0aGUgdHJpYW5nbGUgbWVzaAogLy8gY29ycmVzcG9uZGluZyB0
byB0aGUgZm91ciBjb250cm9sIHBvaW50IHZlcnRpY2VzIG9mIGEgY3ViaWMgY3VydmUKIC8vIHNl
Z21lbnQuCi1jbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IpOwogcHVibGljOgogICAgIC8v
IFRoZSB2ZXJ0aWNlcyB0aGF0IHRoZSB0cmlhbmd1bGF0b3Igb3BlcmF0ZXMgdXBvbiwgY29udGFp
bmluZyBib3RoCiAgICAgLy8gdGhlIHBvc2l0aW9uIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgdGhl
IGN1YmljIHRleHR1cmUKICAgICAvLyBjb29yZGluYXRlcy4KLSAgICBjbGFzcyBWZXJ0ZXggOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFZlcnRleCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFZlcnRleCk7CiAgICAgcHVibGljOgogICAgICAgICBWZXJ0ZXgoKQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5UZXh0dXJlQ29vcmRzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5UZXh0dXJlQ29vcmRzLmgKaW5kZXggNWZkZWIzYi4uYjI5YThmNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaApA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkxvb3BCbGlubkNsYXNzaWZpZXIuaCIKICNpbmNs
dWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1BPREFyZW5hLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Q
T0RBcmVuYS5oCmluZGV4IGY2OGJhZWYuLjVmZWVmMDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvUE9EQXJlbmEuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHN0ZGludC5o
PgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2Mu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgpAQCAtMTU4LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgLy8gTWFuYWdlcyBh
IGNodW5rIG9mIG1lbW9yeSBhbmQgaW5kaXZpZHVhbCBhbGxvY2F0aW9ucyBvdXQgb2YgaXQuCi0g
ICAgY2xhc3MgQ2h1bmsgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENodW5rIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2h1bmspOwogICAgIHB1YmxpYzoKICAgICAg
ICAgLy8gQWxsb2NhdGVzIGEgYmxvY2sgb2YgbWVtb3J5IG9mIHRoZSBnaXZlbiBzaXplIGZyb20g
dGhlIHBhc3NlZAogICAgICAgICAvLyBBbGxvY2F0b3IuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCmluZGV4IDMyMGNlNjAuLmZhMWUyN2MgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiUE9ESW50ZXJ2YWwuaCIKICNpbmNsdWRlICJQT0RS
ZWRCbGFja1RyZWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDQsOCArNDMsOCBAQCBzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKIC8vIHN1cHBv
cnRzIGVmZmljaWVudCAoTyhsZyBuKSkgaW5zZXJ0aW9uLCByZW1vdmFsIGFuZCBxdWVyeWluZyBv
ZgogLy8gaW50ZXJ2YWxzIGluIHRoZSB0cmVlLgogdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgVXNl
ckRhdGEgPSB2b2lkKj4KLWNsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50
ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworY2xhc3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIFBP
RFJlZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUE9ESW50ZXJ2YWxUcmVlKTsKIHB1YmxpYzoKICAgICAvLyBUeXBlZGVmIHRv
IHJlZHVjZSB0eXBpbmcgd2hlbiBkZWNsYXJpbmcgaW50ZXJ2YWxzIHRvIGJlIHN0b3JlZCBpbgog
ICAgIC8vIHRoaXMgdHJlZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L1BPRFJlZEJsYWNrVHJlZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9E
UmVkQmxhY2tUcmVlLmgKaW5kZXggNmQ1OTU0Yy4uYjBkOTE4ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKQEAgLTc0LDcgKzc0LDYgQEAK
IAogI2luY2x1ZGUgIlBPREFyZW5hLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaWZu
ZGVmIE5ERUJVRwogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTE5OCw3ICsxOTcsOCBAQCBwcm90
ZWN0ZWQ6CiAgICAgLy8gVGhlIGJhc2UgTm9kZSBjbGFzcyB3aGljaCBpcyBzdG9yZWQgaW4gdGhl
IHRyZWUuIE5vZGVzIGFyZSBvbmx5CiAgICAgLy8gYW4gaW50ZXJuYWwgY29uY2VwdDsgdXNlcnMg
b2YgdGhlIHRyZWUgZGVhbCBvbmx5IHdpdGggdGhlIGRhdGEKICAgICAvLyB0aGV5IHN0b3JlIGlu
IGl0LgotICAgIGNsYXNzIE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE5v
ZGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIC8vIENvbnN0cnVjdG9yLiBOZXdseS1jcmVhdGVkIG5vZGVzIGFyZSBjb2xvcmVkIHJl
ZC4KICAgICAgICAgZXhwbGljaXQgTm9kZShjb25zdCBUJiBkYXRhKQpAQCAtNjU5LDcgKzY1OSw4
IEBAIHByaXZhdGU6CiAgICAgLy8gSGVscGVyIGNsYXNzIGZvciBzaXplKCkKIAogICAgIC8vIEEg
VmlzaXRvciB3aGljaCBzaW1wbHkgY291bnRzIHRoZSBudW1iZXIgb2YgdmlzaXRlZCBlbGVtZW50
cy4KLSAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ291bnRlcik7CiAgICAgcHVibGljOgogICAgICAgICBDb3VudGVyKCkK
ICAgICAgICAgICAgIDogbV9jb3VudCgwKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
U2hhZGVyLmgKaW5kZXggZTViZDhkZS4uYjU2NjBmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvU2hhZGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgU2hhZGVyX2gKICNkZWZp
bmUgU2hhZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAg
Y2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBD
b2xvcjsKIAotY2xhc3MgU2hhZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNoYWRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhZGVyKTsKIHByb3RlY3RlZDoKICAgICBT
aGFkZXIoR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBwcm9ncmFtKTsKICAgICB+U2hhZGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRh
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKaW5kZXggMWJk
YzUxYS4uZGNhOGFiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
VGlsaW5nRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0Rh
dGEuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRpbGluZ0RhdGFfaAogI2RlZmluZSBU
aWxpbmdEYXRhX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEludFJlY3Q7CiAKLWNsYXNzIFRp
bGluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsaW5nRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsaW5nRGF0YSk7CiBwdWJsaWM6CiAgICAgVGlsaW5nRGF0
YShpbnQgbWF4VGV4dHVyZVNpemUsIGludCB0b3RhbFNpemVYLCBpbnQgdG90YWxTaXplWSwgYm9v
bCBoYXNCb3JkZXJUZXhlbHMpOwogICAgIGludCBtYXhUZXh0dXJlU2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbWF4VGV4dHVyZVNpemU7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmlu
ZGV4IDYzNWZlZmYuLmJmNjBhYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApA
QCAtMjQsNyArMjQsNiBAQAogI2luY2x1ZGUgIkdPd25QdHIuaCIKICNpbmNsdWRlICJHUmVmUHRy
LmgiCiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJs
ZS5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5k
bGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC0zNiw3
ICszNSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1jbGFzcyBTdHJlYW1pbmdD
bGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7
CitjbGFzcyBTdHJlYW1pbmdDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmVhbWluZ0NsaWVudCk7CiAgICAgcHVibGljOgog
ICAgICAgICBTdHJlYW1pbmdDbGllbnQoV2ViS2l0V2ViU3JjKik7CiAgICAgICAgIHZpcnR1YWwg
flN0cmVhbWluZ0NsaWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9y
aWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFi
bGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAg
ICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggNzcwMjQ1Ny4uZTgwMjhkYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAj
aW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250
KiBDR0ZvbnRSZWY7CiB0eXBlZGVmIFVJbnQzMiBBVFNGb250Q29udGFpbmVyUmVmOwpAQCAtMzYs
NyArMzUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwog
Y2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5v
bmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhKEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyLCBBVFNGb250
UmVmIGF0c0ZvbnQsIENHRm9udFJlZiBjZ0ZvbnQpCiAgICAgOiBtX2F0c0NvbnRhaW5lcihjb250
YWluZXIpLCBtX2F0c0ZvbnQoYXRzRm9udCksIG1fY2dGb250KGNnRm9udCkKICAgICB7fQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCmluZGV4
IGU0YzY2ODguLjg0ODk5M2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW52Zy9QYWludGVyT3BlblZHLmgKQEAgLTI1LDcgKzI1LDYgQEAKIAogI2luY2x1ZGUgPG9wZW52
Zy5oPgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIFRpbGVk
SW1hZ2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xhc3MgUGFp
bnRlck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3BlblZHIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoKICAgICBm
cmllbmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRmb3JtUGFp
bnRlclN0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcv
U3VyZmFjZU9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFj
ZU9wZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLmVlNzIwMDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKQEAgLTI0LDcgKzI0LDYgQEAKICNp
bmNsdWRlIDxlZ2wuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBJbnRTaXplOwog
ICogb2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1ha2UgaXQgZWFzeSB0byBhZGQgZGlmZmVyZW50IHN1
cmZhY2UvY29udGV4dAogICogaW1wbGVtZW50YXRpb25zIHRoYW4gRUdMLgogICovCi1jbGFzcyBT
dXJmYWNlT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN1cmZhY2VPcGVuVkcg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1cmZhY2VPcGVuVkcpOwogcHVibGljOgogICAg
IGVudW0gTWFrZUN1cnJlbnRNb2RlIHsKICAgICAgICAgQXBwbHlQYWludGVyU3RhdGVPblN1cmZh
Y2VTd2l0Y2gsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcuLjBhNGMxMGMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBA
IC0yNSwxNCArMjUsMTYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRl
ICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CisgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpIHsgfQogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CiAKICAgICAvLyBmb3IgdXNl
IHdpdGggUUZvbnREYXRhYmFzZTo6YWRkQXBwbGljYXRpb25Gb250L3JlbW92ZUFwcGxpY2F0aW9u
Rm9udApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZv
cm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEu
aAppbmRleCAyMjAxZjE4Li41NTZjYWMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjksMTAgKzI5LDEyIEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8UUZvbnQ+CiAjaW5jbHVkZSA8UUhhc2g+Cisj
aW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9u
dFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIEZvbnRQbGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAt
NjIsOCArNjQsMTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQog
ICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUp
OwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBG
b250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZmFtaWx5TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAw
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250
ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRR
dC5jcHAKaW5kZXggMDZlMWUxYy4uNDJjOGVkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBz
dGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAg
ICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0
UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYg
aW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5
TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIu
aAppbmRleCA2YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7
CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CitwdWJsaWM6CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0
IFFSZWN0ICZyZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAg
IDogcGl4bWFwKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5
KG9wYWNpdHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4xNDNlZTc5IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCkBAIC00OSw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEpOwogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5E
TEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJl
ZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4
IDVlMTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMx
LDE0ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAog
I2RlZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNv
bnRleHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0
UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDog
bV9jb250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgz
YWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1D
b250ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9y
bUNvbnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0
U2tpYV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5
YWJsZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJh
d0xvb3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2li
bGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBh
cmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9y
IHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3Bw
ZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBG
b3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJl
IE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28g
Y2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uNjMwZWFmOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRy
YW5zZm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZp
bmVUcmFuc2Zvcm0uaApAQCAtNTUsNyArNTUsOCBAQCBjbGFzcyBJbnRQb2ludDsKIGNsYXNzIElu
dFJlY3Q7CiBjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKIAotY2xhc3MgQWZmaW5lVHJhbnNm
b3JtIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQWZmaW5lVHJhbnNmb3JtIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIFRy
YW5zZm9ybVs2XTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3Ny4uMDhmMjc2MSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9y
bU9wZXJhdGlvbnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
VHJhbnNmb3JtT3BlcmF0aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgVHJhbnNmb3JtT3BlcmF0aW9ucyhib29sIG1ha2VJZGVudGl0eSA9
IGZhbHNlKTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKaW5kZXggOTZiNGJhYS4uNTJiYTJm
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5z
Zm9ybWF0aW9uTWF0cml4LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJG
bG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDxzdHJpbmcuaD4g
Ly9mb3IgbWVtY3B5Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogI2lmIFBMQVRG
T1JNKENHKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0FmZmluZVRyYW5zZm9ybS5oPgpAQCAt
NjIsNyArNjEsOCBAQCBjbGFzcyBGbG9hdFBvaW50M0Q7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFz
cyBGbG9hdFF1YWQ7CiAKLWNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXggeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRlZiBkb3VibGUgTWF0cml4NFs0XVs0XTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IDFiZGYyNzAuLjE2MjhlZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1
LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiAKQEAg
LTM0LDcgKzMzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0
YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5n
JiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQogICAgICAg
ICAsIG1fbmFtZShuYW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAppbmRleCAzYWI1MmI4Li41MTU0
ZWFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhQ2Fpcm8uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaApAQCAtMjQsNyArMjQsNiBAQAogCiAjaW5jbHVk
ZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPGNhaXJvLmg+CiAKQEAgLTMzLDcgKzMy
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNz
IFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YShjYWlyb19mb250X2ZhY2VfdCogZm9udEZhY2UpCiAgICAgICAgIDogbV9mb250RmFjZShm
b250RmFjZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Mb2NhbFdpbmRvd3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9M
b2NhbFdpbmRvd3NDb250ZXh0LmgKaW5kZXggYzIxNjE0MC4uNTk1MWU0OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaApAQCAt
MzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIExvY2FsV2luZG93
c0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxXaW5kb3dzQ29udGV4dCk7CiBwdWJs
aWM6CiAgICAgTG9jYWxXaW5kb3dzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29u
dGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRydWUs
IGJvb2wgbWF5Q3JlYXRlQml0bWFwID0gdHJ1ZSkKICAgICAgICAgOiBtX2dyYXBoaWNzQ29udGV4
dChncmFwaGljc0NvbnRleHQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9RVE1vdmllLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUu
Y3BwCmluZGV4IGU0MjViZjguLmM3Y2U2M2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUTW92aWUuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSA8UVRNTC5oPgogI2lu
Y2x1ZGUgPFF1aWNrVGltZUNvbXBvbmVudHMuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTYzLDcgKzYyLDggQEAgdW5pb24gVXBwUGFyYW0g
ewogc3RhdGljIFZlY3RvcjxDRlN0cmluZ1JlZj4qIGdTdXBwb3J0ZWRUeXBlcyA9IDA7CiBzdGF0
aWMgU0ludDMyIHF1aWNrVGltZVZlcnNpb24gPSAwOwogCi1jbGFzcyBRVE1vdmllUHJpdmF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFFUTW92aWVUYXNrQ2xpZW50IHsKK2NsYXNzIFFU
TW92aWVQcml2YXRlIDogcHVibGljIFFUTW92aWVUYXNrQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShRVE1vdmllUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRNb3ZpZVByaXZhdGUo
KTsKICAgICB+UVRNb3ZpZVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAKaW5kZXggZTEzZjczMi4uMjY4NjEyZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAKQEAgLTMzLDcg
KzMzLDYgQEAKICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2su
Y3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKaW5kZXggMDkx
NDJiYy4uYmY4MGE4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
UVRUcmFjay5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5j
cHAKQEAgLTMxLDcgKzMxLDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAotY2xhc3MgUVRU
cmFja1ByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUVRUcmFja1ByaXZhdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFFUVHJhY2tQcml2YXRlKTsKIHB1YmxpYzoKICAg
ICBRVFRyYWNrUHJpdmF0ZSgpOwogICAgIH5RVFRyYWNrUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKaW5kZXgg
MTdlYzQxZC4uMWU5OTBhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAKQEAgLTM2LDcgKzM1LDggQEAgc3RydWN0IFdL
Q0FDRkNvbnRleHQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgV0tDQUNGQ29udGV4
dEZsdXNoZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV0tDQUNGQ29udGV4dEZsdXNo
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdLQ0FDRkNvbnRleHRGbHVzaGVyKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgV0tDQUNGQ29udGV4dEZsdXNoZXImIHNoYXJlZCgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgK
aW5kZXggNzYzZmZmYS4uYTE2NmU4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV0tDQUNGTGF5ZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CkBAIC01Niw3ICs1NSw4IEBAIHB1YmxpYzoKIC8vIEZJWE1FOiBDdXJyZW50
bHkgdGhlcmUgaXMgYSBXS0NBQ0ZMYXllclJlbmRlcmVyIGZvciBlYWNoIFdlYlZpZXcgYW5kIGVh
Y2gKIC8vIGhhcyBpdHMgb3duIENBUmVuZGVyT0dMQ29udGV4dCBhbmQgRGlyZWN0M0REZXZpY2U5
LCB3aGljaCBpcyBpbmVmZmljaWVudC4KIC8vIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzE4NTUpCi1jbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdLQ0FDRkxheWVyUmVuZGVyZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPFdLQ0FDRkxheWVyUmVuZGVyZXI+IGNyZWF0ZShXS0NBQ0ZMYXllclJlbmRlcmVyQ2xp
ZW50Kik7CiAgICAgfldLQ0FDRkxheWVyUmVuZGVyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXgg
YWJkYzBmMi4uMjdjMmU5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDcgKzI0LDYgQEAKICNp
bmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5o
IgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyRm9udChjb25zdCBTdHJp
bmcmIGZvbnROYW1lKSA9IDA7CiAgICAgfTsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7
CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY29uc3QgU3RyaW5nJiBuYW1lKQogICAg
ICAgICAgICAgOiBtX25hbWUobmFtZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaAppbmRleCBlNzNhN2IyLi45ODYy
N2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0
Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0
Zm9ybURhdGEuaApAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5o
IgogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
SW1wbC5oPgogCiB0eXBlZGVmIHN0cnVjdCB0YWdURVhUTUVUUklDVyBURVhUTUVUUklDOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRX
aW5DRS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4
dFdpbkNFLmNwcAppbmRleCA4YWY2ZWY3My4uYjQ5ODFkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKQEAg
LTQ0MCw3ICs0NDAsOCBAQCBzdGF0aWMgdm9pZCByb3RhdGVCaXRtYXAoU2hhcmVkQml0bWFwKiBk
ZXN0Qm1wLCBjb25zdCBTaGFyZWRCaXRtYXAqIHNvdXJjZUJtcCwgYwogICAgICAgICBfcm90YXRl
Qml0bWFwPHVuc2lnbmVkLCBmYWxzZT4oZGVzdEJtcCwgc291cmNlQm1wLCB0cmFuc2Zvcm0pOwog
fQogCi1jbGFzcyBUcmFuc3BhcmVudExheWVyREMgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFu
c3BhcmVudExheWVyREMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW50TGF5
ZXJEQyk7CiBwdWJsaWM6CiAgICAgVHJhbnNwYXJlbnRMYXllckRDKEdyYXBoaWNzQ29udGV4dFBs
YXRmb3JtUHJpdmF0ZSogZGF0YSwgSW50UmVjdCYgb3JpZ1JlY3QsIGNvbnN0IEludFJlY3QqIHJl
Y3RCZWZvcmVUcmFuc2Zvcm0gPSAwLCBpbnQgYWxwaGEgPSAyNTUsIGJvb2wgcGFpbnRJbWFnZSA9
IGZhbHNlKTsKICAgICB+VHJhbnNwYXJlbnRMYXllckRDKCk7CkBAIC01NjAsNyArNTYxLDggQEAg
dm9pZCBUcmFuc3BhcmVudExheWVyREM6OmZpbGxBbHBoYUNoYW5uZWwoKQogICAgIH0KIH0KIAot
Y2xhc3MgU2NvcGVEQ1Byb3ZpZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgU2NvcGVEQ1Byb3Zp
ZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY29wZURDUHJvdmlkZXIpOwogcHVibGlj
OgogICAgIGV4cGxpY2l0IFNjb3BlRENQcm92aWRlcihHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUqIGRhdGEpCiAgICAgICAgIDogbV9kYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNjMzQ4
ZTMuLjg2Zjk5YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCwxNCArMjQsMTQgQEAKICNpbmNsdWRlICJG
b250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiAgICAgY2xhc3Mg
U2hhcmVkQnVmZmVyOwogCi0gICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25j
b3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICAgICAgfkZvbnRDdXN0
b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvSW1hZ2VEZWNvZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0lt
YWdlRGVjb2Rlci5oCmluZGV4IDY4YzZlMzEuLmNkMTFmZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtMjIxLDcgKzIyMSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBzZXRNYXhOdW1QaXhlbHMoKSB0byBzcGVjaWZ5IHRo
ZSBiaWdnZXN0IHNpemUgdGhhdCBkZWNvZGVkIGltYWdlcyBjYW4KICAgICAvLyBoYXZlLiBJbWFn
ZSBkZWNvZGVycyB3aWxsIGRlZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQgYXJlIGJpZ2dlciB0aGFu
CiAgICAgLy8gbV9tYXhOdW1QaXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5IGFsbCBpbWFnZSBkZWNv
ZGVycyB5ZXQpCi0gICAgY2xhc3MgSW1hZ2VEZWNvZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBJbWFnZURlY29kZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bWFnZURlY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgSW1hZ2VEZWNvZGVyKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgYm9vbCBpZ25vcmVHYW1tYUFu
ZENvbG9yUHJvZmlsZSkKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0NsaXBib2FyZE1hYy5oCmluZGV4IDcxODdlY2YuLjg5ZjgzM2IgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0NsaXBib2FyZE1hYy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3Mg
RmlsZUxpc3Q7CiAKIGNsYXNzIENsaXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1Ymxp
YyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRNYWM+IGNyZWF0ZShDbGlwYm9h
cmRUeXBlIGNsaXBib2FyZFR5cGUsIE5TUGFzdGVib2FyZCAqcGFzdGVib2FyZCwgQ2xpcGJvYXJk
QWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKaW5kZXggOTBiZWI0
MC4uYjk5MGQ3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0LmgKQEAgLTE3LDcgKzE3LDYgQEAKICAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgogICovCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmZGVm
IF9fT0JKQ19fCiBAY2xhc3MgTlNHcmFwaGljc0NvbnRleHQ7CkBAIC0zMSw3ICszMCw4IEBAIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDsKICAgICAKIC8vIFRoaXMgY2xhc3MgYXV0b21hdGljYWxseSBz
YXZlcyBhbmQgcmVzdG9yZXMgdGhlIGN1cnJlbnQgTlNHcmFwaGljc0NvbnRleHQgZm9yCiAvLyBm
dW5jdGlvbnMgd2hpY2ggY2FsbCBvdXQgaW50byBBcHBLaXQgYW5kIHJlbHkgb24gdGhlIGN1cnJl
bnRDb250ZXh0IGJlaW5nIHNldAotY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KTsK
IHB1YmxpYzoKICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0
KiBncmFwaGljc0NvbnRleHQpOwogICAgIH5Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KaW5kZXggY2M5ZmYxNy4uNDQ2YmRh
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KQEAgLTI5LDcgKzI5LDYg
QEAKICNpbXBvcnQgPElPS2l0L0lPTWVzc2FnZS5oPgogI2ltcG9ydCA8SU9LaXQvcHdyX21ndC9J
T1BNTGliLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2ltcG9ydCA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1VudXNl
ZFBhcmFtLmg+CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKaW5kZXggMWZmNjM0NC4u
NmVmMjI0MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKQEAgLTE0NSw2ICsxNDUs
NyBAQCBwcml2YXRlOgogdHlwZWRlZiBWZWN0b3I8QmxvYkRhdGFJdGVtPiBCbG9iRGF0YUl0ZW1M
aXN0OwogCiBjbGFzcyBCbG9iRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxCbG9iRGF0YT4gY3JlYXRlKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAppbmRleCA4N2QwZWYzLi4xMTJl
MzE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVy
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCkBAIC0y
MywxNCArMjMsMTQgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xh
c3MgRm9ybURhdGFCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvcm1EYXRh
QnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9ybURhdGFCdWlsZGVyKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgVGV4dEVuY29kaW5nIGVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQo
Y29uc3QgU3RyaW5nJiBhY2NlcHRDaGFyc2V0LCBEb2N1bWVudCogZG9jdW1lbnQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCmluZGV4IGQx
ZjJkYjQuLjM5OTc4MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RhdGVOb3RpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RhdGVOb3RpZmllci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyX2gKICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTYxLDcgKzYwLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXJQcml2YXRlOwog
I2VuZGlmCiAKLWNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShOZXR3b3JrU3RhdGVOb3RpZmllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgTmV0d29ya1N0YXRlTm90aWZpZXIoKTsKICAgICB2b2lkIHNldE5ldHdvcmtTdGF0ZUNo
YW5nZWRGdW5jdGlvbih2b2lkICgqKSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDljY2NlY2QuLjBmMmJlMjQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaApA
QCAtODAsNyArODAsOCBAQCBjbGFzcyBOU1VSTENvbm5lY3Rpb247CiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVDbGllbnQ7CiAKLSAgICBjbGFzcyBSZXNvdXJj
ZUhhbmRsZUludGVybmFsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXNvdXJj
ZUhhbmRsZUludGVybmFsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2FkZXIsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGMsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAgICAgICA6IG1f
Y2xpZW50KGMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuaAppbmRleCAzM2ExODRlLi4yYjc0MTczIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAg
ICAvLyBEbyBub3QgdXNlIHRoaXMgdHlwZSBkaXJlY3RseS4gIFVzZSBSZXNvdXJjZVJlcXVlc3Qg
aW5zdGVhZC4KLSAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIHR5cGUgb2YgdGhp
cyBSZXNvdXJjZVJlcXVlc3QsIGJhc2VkIG9uIGhvdyB0aGUgcmVzb3VyY2Ugd2lsbCBiZSB1c2Vk
LgogICAgICAgICBlbnVtIFRhcmdldFR5cGUgewpAQCAtMjA1LDcgKzIwNiwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1
ZXN0QmFzZTo6Y29tcGFyZShhLCBiKTsgfQogICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oUmVz
b3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuICEoYSA9
PSBiKTsgfQogCi0gICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2Ug
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0
YUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNl
UmVxdWVzdERhdGFCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6Cisg
ICAgICAgIENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UoKSB7IH0KICAgICAgICAg
S1VSTCBtX3VybDsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hl
UG9saWN5OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuaAppbmRleCA0ZGExM2JiLi40NjZiNDMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGE7CiAK
IC8vIERvIG5vdCB1c2UgdGhpcyBjbGFzcyBkaXJlY3RseSwgdXNlIHRoZSBjbGFzcyBSZXNwb25z
ZVJlc3BvbnNlIGluc3RlYWQKLWNsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8UmVzb3VyY2VS
ZXNwb25zZT4gYWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRh
Pik7CiAKQEAgLTE3NSw3ICsxNzYsMTAgQEAgcHJpdmF0ZToKIGlubGluZSBib29sIG9wZXJhdG9y
PT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYikg
eyByZXR1cm4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbXBhcmUoYSwgYik7IH0KIGlubGluZSBi
b29sIG9wZXJhdG9yIT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLXN0cnVjdCBDcm9zc1RocmVhZFJl
c291cmNlUmVzcG9uc2VEYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UpOworcHVibGljOgorICAgIENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKCkgeyB9CiAgICAgS1VSTCBtX3VybDsKICAgICBT
dHJpbmcgbV9taW1lVHlwZTsKICAgICBsb25nIGxvbmcgbV9leHBlY3RlZENvbnRlbnRMZW5ndGg7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcAppbmRleCAwZjk3ODY3Li4xODE1OGZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTYwLDcgKzYwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5Mgog
Ci1jbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2Fk
ZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3Rvcjxj
aGFyPiYpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKaW5kZXggMzhkOWNk
MS4uZjUwNTQwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNv
dXJjZUhhbmRsZVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNv
dXJjZUhhbmRsZVdpbi5jcHAKQEAgLTc2LDcgKzc2LDggQEAgc3RhdGljIFN0cmluZyBxdWVyeUhU
VFBIZWFkZXIoSElOVEVSTkVUIHJlcXVlc3RIYW5kbGUsIERXT1JEIGluZm9MZXZlbCkKIH0KIAog
Ci1jbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2Fk
ZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNo
YXI+JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNM
b2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAppbmRleCA1YWNhMWE2Li4xZWVjOGFk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMg
Zm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICBjbGFzcyBDbGlwYm9hcmRRdCA6
IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxDbGlwYm9hcmRRdD4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ks
IGNvbnN0IFFNaW1lRGF0YSogcmVhZGFibGVDbGlwYm9hcmQpCiAgICAgICAgIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMuLmRhNTNhY2MgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtNTAsNyArNTAsOCBAQCBleHRlcm4gY29u
c3QgaW50IFNRTFJlc3VsdFNjaGVtYTsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0RnVsbDsK
IGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0OwogCi1jbGFzcyBTUUxpdGVEYXRh
YmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxpdGVEYXRhYmFzZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlRGF0YWJhc2UpOwogICAgIGZyaWVuZCBjbGFzcyBT
UUxpdGVUcmFuc2FjdGlvbjsKIHB1YmxpYzoKICAgICBTUUxpdGVEYXRhYmFzZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmggYi9XZWJDb3JlL3Bs
YXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRleCAxNDQ0ZjBlLi4xZWUzYmUzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTFZhbHVlOwogCi1jbGFzcyBTUUxpdGVTdGF0ZW1l
bnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlU3RhdGVtZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVTdGF0ZW1lbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIFNRTGl0ZVN0YXRlbWVudChTUUxpdGVEYXRhYmFzZSYsIGNvbnN0
IFN0cmluZyYpOwogICAgIH5TUUxpdGVTdGF0ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVUcmFuc2FjdGlvbi5oCmluZGV4IDkyNDI0MWYuLjQyN2IyOTYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaApAQCAtMjYsMTQgKzI2LDEzIEBACiAjaWZuZGVm
IFNRTGl0ZVRyYW5zYWN0aW9uX2gKICNkZWZpbmUgU1FMaXRlVHJhbnNhY3Rpb25faAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U1FMaXRlRGF0YWJhc2U7CiAKLWNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIDogcHVibGljIE5vbmNv
cHlhYmxlCi17CitjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1FMaXRlVHJhbnNhY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIFNRTGl0ZVRyYW5zYWN0aW9uKFNRTGl0ZURhdGFiYXNlJiBkYiwgYm9vbCByZWFkT25s
eSA9IGZhbHNlKTsKICAgICB+U1FMaXRlVHJhbnNhY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9C
aWRpUmVzb2x2ZXIuaAppbmRleCAxZjg3MTE1Li4wNTZlZDcyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0JpZGlSZXNvbHZlci5oCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIEJpZGlSZXNvbHZlcl9o
CiAKICNpbmNsdWRlICJCaWRpQ29udGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC0xMjYsNyArMTI1LDggQEAgc3RydWN0IEJpZGlDaGFyYWN0ZXJSdW4gewogICAgIEJpZGlD
aGFyYWN0ZXJSdW4qIG1fbmV4dDsKIH07CiAKLXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xh
c3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxh
dGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQmlkaVJlc29sdmVyKTsKIHB1YmxpYyA6CiAgICAgQmlkaVJl
c29sdmVyKCkKICAgICAgICAgOiBtX2RpcmVjdGlvbihXVEY6OlVuaWNvZGU6Ok90aGVyTmV1dHJh
bCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKaW5kZXggZjE2MTFl
NS4uMTJkMDUyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHBy
ZXNzaW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgK
QEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWd1bGFy
RXhwcmVzc2lvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlZ3VsYXJFeHByZXNz
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlZ3VsYXJF
eHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkpOwogICAgIH5SZWd1
bGFyRXhwcmVzc2lvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRD
b2RlYy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4IGM2YWYzOGEu
LjE4YjVkOGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKQEAgLTI5LDcgKzI5LDYgQEAK
IAogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTU3
LDggKzU2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgY2hhciBVbmVu
Y29kYWJsZVJlcGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xhc3MgVGV4dENvZGVjIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29kZWMgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKKyAgICAgICAgVGV4dENvZGVjKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRleHRDb2Rl
YygpOwogCiAgICAgICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciogc3RyLCBzaXplX3QgbGVu
Z3RoLCBib29sIGZsdXNoID0gZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3Ry
YW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAppbmRleCA2N2RiOTc3Li44ODQ2Y2RkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKQEAg
LTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgRm9udFRyYW5zY29kZXJfaAogCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcg
KzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xh
c3MgVGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb250VHJhbnNjb2RlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGb250VHJhbnNjb2RlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Rm9udFRyYW5zY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZv
aWQgY29udmVydChTdHJpbmcmIHRleHQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRl
eHRFbmNvZGluZyogPSAwKSBjb25zdDsKICAgICBib29sIG5lZWRzVHJhbnNjb2RpbmcoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmggYi9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9DbGlwYm9hcmRXaW4uaAppbmRleCBjZTY0Yjg1Li4yZDE0NGIwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9DbGlwYm9hcmRXaW4uaApAQCAtNDEsNiArNDEsNyBAQCBjbGFzcyBXQ0RhdGFPYmpl
Y3Q7CiAKIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcgYW5k
IGRyb3AgYW5kIGNvcHkvcGFzdGUKIGNsYXNzIENsaXBib2FyZFdpbiA6IHB1YmxpYyBDbGlwYm9h
cmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0
ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5cGUsIElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBD
bGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1
NmU3Li5kMzZjMjMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNz
YWdlQnJvYWRjYXN0ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdl
QnJvYWRjYXN0ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0
ZW5lcjsKIAotICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VM
aXN0ZW5lciopOwogICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5k
b3dNZXNzYWdlTGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5E
YXRhYmFzZS5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1
Zi4uOTMyYTFkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgK
KysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5Q
YWNrYWdlPiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdpblNldDsKIAotICAgIGNsYXNzIFBsdWdp
bkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5EYXRhYmFz
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkRhdGFiYXNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpbkRhdGFiYXNlKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVy
LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCmluZGV4IDYx
MGU4OWMuLmUyZTA4MDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhy
ZWFkU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hl
ZHVsZXIuaApAQCAtMzYsNyArMzYsOCBAQCB0eXBlZGVmIE5QUF90KiBOUFA7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZvaWQgTWFpblRocmVhZEZ1bmN0aW9u
KHZvaWQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggZGVhZWM5OS4uNWYwZjZjYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luVmlldy5oCkBAIC05Myw3ICs5Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgUGx1Z2luU3RhdHVzTG9hZGVkU3VjY2Vzc2Z1bGx5CiAgICAgfTsKIAotICAgIGNsYXNzIFBs
dWdpblJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBsdWdpblJlcXVl
c3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5SZXF1ZXN0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29u
c3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0
aW9uLCB2b2lkKiBub3RpZnlEYXRhLCBib29sIHNob3VsZEFsbG93UG9wdXBzKQogICAgICAgICAg
ICAgOiBtX2ZyYW1lTG9hZFJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbklu
Zm8uaAppbmRleCA1ZTZmNjE5Li5kYjk0NzhjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9Db2x1bW5JbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0z
MSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBDb2x1bW5JbmZvKCkKICAgICAgICAgOiBtX2Rlc2lyZWRDb2x1bW5XaWR0aCgwKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL0NvdW50ZXJOb2RlLmgKaW5kZXggNTI5ZDQwOS4uNTU1ZTgxYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9Db3Vu
dGVyTm9kZS5oCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIENvdW50ZXJOb2RlX2gKIAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogLy8gVGhpcyBpbXBsZW1lbnRzIGEgY291bnRlciB0
cmVlIHRoYXQgaXMgdXNlZCBmb3IgZmluZGluZyBwYXJlbnRzIGluIGNvdW50ZXJzKCkgbG9va3Vw
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5kZXggY2NhM2U0Mi4uYmJhNjAxZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9MYXlvdXRTdGF0ZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJJbnRSZWN0Lmgi
CiAjaW5jbHVkZSAiSW50U2l6ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgY2xhc3MgUmVuZGVyQXJlbmE7
CiBjbGFzcyBSZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIExheW91dFN0
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMYXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAgICAgTGF5b3V0U3RhdGUo
KQogICAgICAgICA6IG1fY2xpcHBlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckFyZW5hLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCmluZGV4
IDMyMTM5ZmIuLjNiNWNmMDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFy
ZW5hLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaApAQCAtMzYsMTMgKzM2
LDEzIEBACiAjZGVmaW5lIFJlbmRlckFyZW5hX2gKIAogI2luY2x1ZGUgIkFyZW5hLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGlj
IGNvbnN0IHNpemVfdCBnTWF4UmVjeWNsZWRTaXplID0gNDAwOwogCi1jbGFzcyBSZW5kZXJBcmVu
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJBcmVuYSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyQXJlbmEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFJlbmRlckFyZW5hKHVuc2lnbmVkIGFyZW5hU2l6ZSA9IDQwOTYpOwogICAgIH5S
ZW5kZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggNjQ1YzBlYy4uNDAyNjcw
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNTIsNyArMzUyLDkgQEAgcHJpdmF0ZToK
ICAgICAgICAgYm9vbCBldmVySGFkTGF5b3V0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRmxvYXRp
bmdPYmplY3QgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmxvYXRpbmdPYmplY3QpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBi
aXRzIHNvIHlvdSBjYW4gdXNlIEZsb2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGgg
bGVmdCBhbmQgcmlnaHQuCiAgICAgICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0
UmlnaHQgPSAyLCBGbG9hdEJvdGggPSAzIH07CiAKQEAgLTY4MCw3ICs2ODIsOSBAQCBwcml2YXRl
OgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBtX2NvbnRpbnVhdGlvbjsKICAgICAKICAgICAv
LyBBbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1
bHQgdmFsdWVzCi0gICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAg
ICBwdWJsaWM6CiAgICAgICAgIFJlbmRlckJsb2NrUmFyZURhdGEoY29uc3QgUmVuZGVyQmxvY2sq
IGJsb2NrKSAKICAgICAgICAgICAgIDogbV9tYXJnaW5zKHBvc2l0aXZlTWFyZ2luQmVmb3JlRGVm
YXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdChibG9jayksIHBvc2l0aXZl
TWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5BZnRlckRlZmF1bHQoYmxv
Y2spKQogICAgICAgICAgICAgLCBtX3BhZ2luYXRpb25TdHJ1dCgwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDE0M2M3MmMuLjRlNWY2ZjggMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTUzLDcgKzUzLDgg
QEAgc3RhdGljIGNvbnN0IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsg
Ly8gNTAwIG1zCiB0eXBlZGVmIHBhaXI8UmVuZGVyQm94TW9kZWxPYmplY3QqLCBjb25zdCB2b2lk
Kj4gTGFzdFBhaW50U2l6ZU1hcEtleTsKIHR5cGVkZWYgSGFzaE1hcDxMYXN0UGFpbnRTaXplTWFw
S2V5LCBJbnRTaXplPiBMYXN0UGFpbnRTaXplTWFwOwogCi1jbGFzcyBJbWFnZVF1YWxpdHlDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlUXVhbGl0eUNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlUXVhbGl0eUNvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEltYWdlUXVhbGl0eUNvbnRyb2xs
ZXIoKTsKICAgICBib29sIHNob3VsZFBhaW50QXRMb3dRdWFsaXR5KEdyYXBoaWNzQ29udGV4dCos
IFJlbmRlckJveE1vZGVsT2JqZWN0KiwgSW1hZ2UqLCBjb25zdCB2b2lkKiBsYXllciwgY29uc3Qg
SW50U2l6ZSYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggZDBhYjM0Ni4uMWU1
MTFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03Myw3ICs3Myw4IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7CiAKLSAg
ICBjbGFzcyBHcmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JpZEF4
aXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmlkQXhpcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBHcmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCmluZGV4IDIzNDY3MTIuLmU1OGNkOWIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKQEAgLTI5LDEzICsyOSwxMyBA
QAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5k
bGUuaCIKICNpbmNsdWRlICJTdHlsZUltYWdlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFz
cyBSZW5kZXJJbWFnZVJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRl
ckltYWdlUmVzb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckltYWdlUmVz
b3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwgflJl
bmRlckltYWdlUmVzb3VyY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aAppbmRleCBmYjNhYjY3Li5jYWQ4NDU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuaApAQCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8v
IAogLy8gVGhlcmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXll
ciB0aGF0IGlzIGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1Ymxp
YyBHcmFwaGljc0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVy
TGF5ZXJCYWNraW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgUmVuZGVyTGF5ZXJCYWNraW5nKFJlbmRlckxheWVyKik7CiAgICAgflJl
bmRlckxheWVyQmFja2luZygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCmluZGV4IDc5OTk4
ZWQuLjNiNWViMzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKQEAgLTUzLDcgKzUzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyTGF5ZXI7CiAKIC8vIFRoaXMgY2xh
c3MgaGFuZGxlcyB0aGUgYXV0by1zY3JvbGxpbmcgb2YgbGF5ZXJzIHdpdGggb3ZlcmZsb3c6IG1h
cnF1ZWUuCi1jbGFzcyBSZW5kZXJNYXJxdWVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlbmRlck1hcnF1ZWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck1hcnF1ZWUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlck1h
cnF1ZWUoUmVuZGVyTGF5ZXIqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJNYXJxdWVlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAppbmRleCAyNTNhNjcyLi4zMWUwMWU3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUK
IC8vIEV4YW1wbGVzIG9mIHZpc3VhbCBvdmVyZmxvdyBhcmUgc2hhZG93cywgdGV4dCBzdHJva2Ug
KGFuZCBldmVudHVhbGx5IG91dGxpbmUgYW5kIGJvcmRlci1pbWFnZSkuCiAKIC8vIFRoaXMgb2Jq
ZWN0IGlzIGFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2ZSBub24t
ZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCi1jbGFzcyBSZW5kZXJPdmVyZmxvdyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJPdmVyZmxvdyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyT3ZlcmZsb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGRlZmF1bHRSZWN0ID0g
SW50UmVjdCgpKSAKICAgICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0Lnko
KSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBl
ci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKaW5kZXgg
MjAxNTNlOS4uNDM1ZmVjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VDbGlwcGVyLmgKQEAgLTM2LDcgKzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dHJ1Y3QgQ2xpcHBlckRhdGEgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVyRGF0YSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBPd25QdHI8SW1hZ2VC
dWZmZXI+IGNsaXBNYXNrSW1hZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTZWxlY3Rpb25JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rp
b25JbmZvLmgKaW5kZXggYTA5ZmMxYS4uMjNiNWU2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNlbGVjdGlvbkluZm8uaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAgICAgICA6IG1fb2JqZWN0KDAp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggMDdmOTMzZi4uMTMzZWI3OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuaApAQCAtMjU0LDcgKzI1NCw4IEBAIHZvaWQgdG9SZW5kZXJWaWV3KGNvbnN0IFJl
bmRlclZpZXcqKTsKIAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Npc3Qgd2l0aCBMYXlv
dXRTdGF0ZSBwdXNoL3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoKICAgICAvLyBjdG9y
IHRvIHB1c2ggbm93CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcqIHZpZXcs
IFJlbmRlckJveCogcm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFs
c2UsIGludCBwYWdlSGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBD
b2x1bW5JbmZvKiBjb2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcldpZGdldFByb3RlY3Rvci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJv
dGVjdG9yLmgKaW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyV2lkZ2V0UHJvdGVjdG9yLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgOiBwcml2YXRlIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKTsKIHB1YmxpYzoKICAgICBSZW5kZXJXaWRnZXRQcm90
ZWN0b3IoUmVuZGVyV2lkZ2V0KiBvYmplY3QpCiAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCmluZGV4IDliY2M3YTQuLjkyMjU4
MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKQEAgLTIyLDcgKzIy
LDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMiw3
ICszMSw4IEBAIGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBj
cmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFyZ2V0UmVjdCwgY29u
c3QgRmxvYXRSZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25QdHI8SW1hZ2VCdWZm
ZXI+JiwgQ29sb3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3VidHJlZVRvSW1hZ2VC
dWZmZXIoSW1hZ2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0m
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAppbmRleCA4ZjU5NzAzNS4u
MDcyYjRiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5m
by5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaApAQCAtMjMs
NyArMjMsNiBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAj
aW5jbHVkZSAiU1ZHTWFya2VyRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgc3RydWN0IE1hcmtlckxh
eW91dCB7CiAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07CiAKLWNsYXNzIFNWR01hcmtl
ckxheW91dEluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHTWFya2VyTGF5b3V0
SW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFya2VyTGF5b3V0SW5mbyk7CiBw
dWJsaWM6CiAgICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAgIH5TVkdNYXJrZXJMYXlvdXRJ
bmZvKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCmluZGV4IDQ5NTkxY2YuLjY1OTkxYWQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUo
U1ZHKQogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAKQEAgLTM4LDcgKzM3LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI7CiBjbGFz
cyBTVkdSZW5kZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3VyY2VzIGFzc29jaWF0
ZWQgd2l0aCBhIFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1ZHUmVzb3VyY2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTVkdS
ZXNvdXJjZXMoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2Vz
Q2FjaGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKaW5kZXggNGE2
MTU3MC4uODI3YWMwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2Vz
Q2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0z
MSw3ICszMSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGUoKTsKICAgICB+U1ZHUmVzb3Vy
Y2VzQ2FjaGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5
Y2xlU29sdmVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5o
CmluZGV4IGU2M2VlNjMuLjM0MTI1OGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NW
R1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIuaApAQCAtMjksNyArMjksOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7CiBj
bGFzcyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1Jlc291cmNlczsKIAot
Y2xhc3MgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1Jlc291cmNlc0N5Y2xlU29sdmVyKTsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDeWNsZVNv
bHZlcihSZW5kZXJPYmplY3QqLCBTVkdSZXNvdXJjZXMqKTsKICAgICB+U1ZHUmVzb3VyY2VzQ3lj
bGVTb2x2ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0Lmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCmluZGV4IGUwZmE4ZWUuLmQ5ZWQxOTgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaApAQCAtMjEsMTMgKzIxLDEzIEBACiAjaWZuZGVmIFRh
YmxlTGF5b3V0X2gKICNkZWZpbmUgVGFibGVMYXlvdXRfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVGFibGU7CiAK
LWNsYXNzIFRhYmxlTGF5b3V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRhYmxlTGF5
b3V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYWJsZUxheW91dCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVGFibGVMYXlvdXQoUmVuZGVyVGFibGUqIHRhYmxl
KQogICAgICAgICA6IG1fdGFibGUodGFibGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9UcmFuc2Zvcm1TdGF0ZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaApp
bmRleCAwYjRjYTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UcmFu
c2Zvcm1TdGF0ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKQEAg
LTMxLDE0ICszMSwxNCBAQAogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkludFNp
emUuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVHJhbnNmb3JtU3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVN0
YXRlKTsKIHB1YmxpYzoKICAgICBlbnVtIFRyYW5zZm9ybURpcmVjdGlvbiB7IEFwcGx5VHJhbnNm
b3JtRGlyZWN0aW9uLCBVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiB9OwogICAgIGVu
dW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRyYW5zZm9ybSwgQWNjdW11bGF0ZVRy
YW5zZm9ybSB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlv
bkNhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAppbmRl
eCA0ZGVhZWY1Li5iMjViMmY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNh
bFBvc2l0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQgUG9zaXRpb25Ub3AgPSAtMHg3ZmZm
ZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4N2ZmZmZmZmY7CiBjb25zdCBpbnQg
UG9zaXRpb25VbmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1jbGFzcyBWZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUpOwogcHVi
bGljOgogICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAgICAgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ29udGVudERhdGEuaAppbmRleCA0Zjk2NGEyLi5mMjNlNzA0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBTdHlsZUltYWdlOwogCi1zdHJ1Y3QgQ29udGVudERhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgQ29udGVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bnRlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb250ZW50
RGF0YSgpCiAgICAgICAgIDogbV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9Db3VudGVyQ29udGVudC5oCmluZGV4IDUyNzU3YWQuLmRkZjliMWUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgQ291bnRlckNvbnRlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBpZGVu
dGlmaWVyLCBFTGlzdFN0eWxlVHlwZSBzdHlsZSwgY29uc3QgQXRvbWljU3RyaW5nJiBzZXBhcmF0
b3IpCiAgICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0ZpbGxMYXllci5oCmluZGV4IDQ5ZmIyOTQuLmM2ZWU1MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0ZpbGxMYXllci5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBGaWxsU2l6ZSB7CiAgICAgTGVu
Z3RoU2l6ZSBzaXplOwogfTsKIAotY2xhc3MgRmlsbExheWVyIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgRmlsbExheWVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEZpbGxMYXllcihFRmlsbExheWVyVHlwZSk7CiAgICAgfkZpbGxMYXllcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCmluZGV4IGNhODNhZjAuLjUwY2YwYmUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNkZWZp
bmUgU2hhZG93RGF0YV9oCiAKICNpbmNsdWRlICJDb2xvci5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBl
bnVtIFNoYWRvd1N0eWxlIHsgTm9ybWFsLCBJbnNldCB9OwogCiAvLyBUaGlzIHN0cnVjdCBob2xk
cyBpbmZvcm1hdGlvbiBhYm91dCBzaGFkb3dzIGZvciB0aGUgdGV4dC1zaGFkb3cgYW5kIGJveC1z
aGFkb3cgcHJvcGVydGllcy4KIAotY2xhc3MgU2hhZG93RGF0YSA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKK2NsYXNzIFNoYWRvd0RhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgU2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcg
KzM1LDggQEAgc3RydWN0IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQg
dGhlIGFjdHVhbCBwZXItY2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3Np
dGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3gg
b2JqZWN0cyAoU1ZHVGV4dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBt
b2RpZmljYXRpb25zIHRoYXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0
ZXh0IGNodW5rICh0ZXh0LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1
bmtCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVi
bGljOgogICAgIFNWR1RleHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFj
NjQuLmM2ODE4NWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0QXR0cmlidXRlc0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVy
U1ZHVGV4dDsKIC8vIHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUgYmFzZWQgb24gdGV4dCBj
aHVuayBib3VuZGFyaWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRoZSBzZWNvbmQgbGF5b3V0
IHBoYXNlIGlzIGNhcnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUuCiAKLWNsYXNzIFNW
R1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4
dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWlsZExheW91dEF0dHJpYnV0
ZXNGb3JUZXh0U3VidHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAg
Y2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0
byBjb21wdXRlIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGlj
aCBhcmUgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNW
R1RleHRMYXlvdXRFbmdpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExh
eW91dEVuZ2luZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2lu
ZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVu
a0J1aWxkZXImIGNodW5rTGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWls
ZGVyOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZUJhc2VsaW5lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lLmgKaW5kZXggZDc1M2IzOS4uYWMzOTNlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApAQCAtMjIsNyArMjIs
NiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zMyw3ICszMiw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHVGV4dE1ldHJp
Y3M7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFu
ZGxlICdhbGlnbm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5lJyBhbmQgJ2Jhc2Vs
aW5lLXNoaWZ0Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSk7CiBwdWJsaWM6
CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAppbmRl
eCAwYTZkNzM2Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBAQCBjbGFzcyBTVkdSZW5k
ZXJTdHlsZTsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNW
R1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICdsZXR0ZXItc3BhY2luZycg
YW5kICd3b3JkLXNwYWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nKTsKIHB1
YmxpYzoKICAgICBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25zdCBGb250Jik7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVRhc2suaAppbmRleCBiNjFlNDY1Li5jZTBiYTRlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VGFzay5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJl
IHVzZWQgdG8gd2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRv
IGJlIHBhc3NlZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0
aCB0aGUgdGFzay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0
YWJhc2VUYXNrU3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNl
bmRpZgogfTsKIAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERhdGFiYXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5EYXRhYmFz
ZVRhc2soKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5o
IGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCmluZGV4IDcxNDVlNmIuLmE2MWQ5
ZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAorKysgYi9X
ZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKQEAgLTU2LDcgKzU2LDggQEAgY2xhc3Mg
RGF0YWJhc2VUcmFja2VyQ2xpZW50Owogc3RydWN0IFNlY3VyaXR5T3JpZ2luVHJhaXRzOwogI2Vu
ZGlmIC8vICFQTEFURk9STShDSFJPTUlVTSkKIAotY2xhc3MgRGF0YWJhc2VUcmFja2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVHJhY2tlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YWJhc2VUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIGRh
dGFiYXNlUGF0aCk7CiAgICAgc3RhdGljIERhdGFiYXNlVHJhY2tlciYgdHJhY2tlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCBi
L1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKaW5kZXggNzgz
YTczMS4uNGZjYzIzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFu
c2FjdGlvbk1vbml0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0
aW9uTW9uaXRvci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQsNyArNDMsOCBAQCBjbGFzcyBJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U7CiAvLyBGSVhNRTogbW92ZSB0aGUgdmVjdG9yIG9m
IHRyYW5zYWN0aW9ucyB0byBUTFMuIEtlZXBpbmcgaXQgc3RhdGljCiAvLyB3aWxsIG5vdCB3b3Jr
IG9uY2Ugd2UgYWRkIHN1cHBvcnQgZm9yIHdvcmtlcnMuIEFub3RoZXIgcG9zc2libGUKIC8vIHNv
bHV0aW9uIGlzIHRvIGtlZXAgdGhlIHZlY3RvciBpbiB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC4KLWNsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgYWRkUGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZElu
dGVyZmFjZSopOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVBlbmRpbmdUcmFuc2FjdGlvbihJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFn
ZS9Mb2NhbFN0b3JhZ2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5o
CmluZGV4IGEyZTM1ZWEuLjQ2NzIwNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2Nh
bFN0b3JhZ2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaApA
QCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9y
YWdlVGhyZWFkOwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIGNsYXNzIHRvIFN0b3JhZ2VU
YXNrCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExvY2FsU3RvcmFnZVRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5bmMsIERlbGV0ZUVtcHR5RGF0
YWJhc2UsIFRlcm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFk
LmgKaW5kZXggNmYwNTkxMS4uMjRmZTE5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xv
Y2FsU3RvcmFnZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJl
YWQuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9j
YWxTdG9yYWdlVGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9y
YWdlVGhyZWFkCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGhyZWFk
PiBjcmVhdGUoKTsKICAgICAgICAgfkxvY2FsU3RvcmFnZVRocmVhZCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oIGIvV2ViQ29yZS9zdG9yYWdlL09y
aWdpblF1b3RhTWFuYWdlci5oCmluZGV4IGVjOTYyMGMuLmFjMjhhNzcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luUXVvdGFNYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIGNsYXNzIE9yaWdpblVzYWdlUmVjb3JkOwogCi1j
bGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgT3Jp
Z2luUXVvdGFNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5RdW90YU1h
bmFnZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE9yaWdpblF1b3Rh
TWFuYWdlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNv
cmQuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCmluZGV4IGE4MzBlNjgu
LmQ2YWU1OTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5o
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCkBAIC0zOSw3ICszOSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gT2JqZWN0cyBvZiB0aGlzIGNsYXNzIGNhbiBi
ZSB1c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcyB3aXRoIGV4dGVybmFsIHN5bmNocm9uaXphdGlv
bi4KIC8vIFN0cmluZyBhcmd1bWVudHMgYXJlIGFsc28gc3VwcG9zZWQgdG8gYmUgZGVlcGx5IGNv
cGllZCBieSB0aGUgY2FsbGVyIHdoZW4gbmVjZXNzYXJ5LgotY2xhc3MgT3JpZ2luVXNhZ2VSZWNv
cmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE9yaWdpblVzYWdlUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJlY29yZCgpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2NTcuLmQ1NjdhNGYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCisrKyBiL1dlYkNvcmUv
c3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpZiBF
TkFCTEUoREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00MSw4ICs0MCwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNl
OwogCiAvLyBBIGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxU
cmFuc2FjdGlvbiB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4g
dGhpbmdzIGhhdmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0
aW9uQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1FMVHJhbnNhY3Rpb25DbGllbnQo
KSB7IH0KICAgICB2b2lkIGRpZENvbW1pdFdyaXRlVHJhbnNhY3Rpb24oQWJzdHJhY3REYXRhYmFz
ZSopOwogICAgIHZvaWQgZGlkRXhlY3V0ZVN0YXRlbWVudChBYnN0cmFjdERhdGFiYXNlKik7CiAg
ICAgYm9vbCBkaWRFeGNlZWRRdW90YShBYnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIGIvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAppbmRleCA5NDM2MGMwLi4zNDI1NjY0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKQEAgLTQzLDgg
KzQzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9u
OwogCi0gICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU1FMVHJhbnNhY3Rpb25Db29yZGlu
YXRvcigpIHsgfQogICAgICAgICB2b2lkIGFjcXVpcmVMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAg
ICAgICAgIHZvaWQgcmVsZWFzZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCBz
aHV0ZG93bigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVk
UHJvcGVydHlUcmFpdHMuaCBiL1dlYkNvcmUvc3ZnL0RlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3Bl
cnR5VHJhaXRzLmgKaW5kZXggM2UzMTA5NS4uYjlhZDYwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVkUHJvcGVydHlUcmFpdHMuaAorKysgYi9XZWJDb3JlL3N2
Zy9EZXByZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0cy5oCkBAIC0yNyw3ICsyNyw5IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFR5cGU+Ci1zdHJ1Y3Qg
RGVwcmVjYXRlZFNWR0FuaW1hdGVkUHJvcGVydHlUcmFpdHMgOiBwdWJsaWMgTm9uY29weWFibGUg
eyB9Oworc3RydWN0IERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEZXByZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0cyk7
Cit9OwogCiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9u
cy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4u
MTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgK
KysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDgg
QEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3Mg
U1ZHU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+
ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVu
dCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5n
LCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNW
R1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRl
bnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJs
aWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291
cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVy
ZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0
IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxl
bWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBj
bGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdF
bGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJh
cmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgp
CiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9T
VkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li4y
OTQxYTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNv
cmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNl
RWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIu
aAppbmRleCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRo
QmxlbmRlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKQEAgLTIzLDExICsy
MywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAj
aW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhCbGVuZGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5
dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJi
Ni4uY2FiZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAor
KysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAj
ZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAg
dW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRT
aG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIu
aApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBv
aW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0
ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
U1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGluY3JlbWVudFBhdGhTZWdt
ZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9z
dmcvU1ZHUGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2
NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAor
KysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2lu
Y2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNs
dWRlICJTVkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBT
VkdQYXRoUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5o
CmluZGV4IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
b3VyY2UuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEw
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsg
fQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgK
aW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1Nw
ZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xh
c3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pv
b21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTVkdWaWV3U3BlYyhT
VkdFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCBjOTgwNGFlLi45
MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysr
IGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01NSw3ICs1NSw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJs
aWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFn
ZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAg
ICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFs
dGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRl
eCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1l
QW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAt
MzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2Vu
ZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVB
bmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwg
flJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29y
ZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYg
QEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBj
bGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdl
YlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2Nv
bCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tl
dENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAg
ICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93
ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNv
Y2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgog
I2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAg
ICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQs
IENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi5hYzgzZThlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysg
Yi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApA
QCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1
bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGlj
IFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+
IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoK
IHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBhbmQg
aXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0gICAg
Y2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3Jr
ZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1
bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGExLi42OGY5NjI1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJD
b3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYs
NiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0t
c3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3Rh
dGljIGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9z
aXRvcnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZp
cmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVk
KFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmlu
ZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBi
b29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9i
c2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlz
IGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2Vy
dmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBA
CiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQ
cm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xh
c3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29y
a2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJM
b2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdp
bmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQ
cm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6
OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BT
ZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNl
dHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3Ap
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRlZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAotICAgICAgICBjbGFzcyBUYXNr
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRl
KFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3Ry
aW5nJiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwCmluZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBA
IC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVk
ZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShE
QVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5z
aWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhy
ZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRh
PiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRl
eCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjMsNyArNjMs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50
ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0
cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1M
SHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRw
UmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJl
Zml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4
IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDIsNiArNDIsNyBAQCBj
bGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xh
c3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1
YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMg
QWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0
KGNvbnRleHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9u
Tm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQ
YXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2Rl
LmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNl
IFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCA6IEZh
c3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgeworICAgICAg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwog
ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAg
ICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMg
UGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24p
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBz
dGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0
LmgKaW5kZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhO
b2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAg
ICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBO
b2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJl
ZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUveG1sL1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0
YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysr
IGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTog
dHlwZSh0KSwgZXFvcCh2KSB7fQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAg
ICAgICBQYXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmlu
ZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGlj
YXRlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUg
cmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAg
ICAgfTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgICAgICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNh
dGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwv
WFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94
bWwvWFBhdGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAg
ICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAg
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAg
ICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAg
LTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZB
eGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2Rl
VGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0
IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgICAgIGVudW0gS2luZCB7CiAgICAgICAgICAgICAgICAgICAg
IFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2Rl
VGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YU0xJ
bXBvcnRSdWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4u
MWZlYTViYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1dl
YkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxl
IDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxY
U0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0
cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA5YzI5ZTgzLi5mOTZlYjcyIDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0y
MiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJs
ZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0
QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5
NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAgRmFzdEFsbG9jQmFz
ZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29w
eWFibGUuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25j
b3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE2ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBh
cm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmggYi9XZWJLaXQvY2hy
b21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4uNDNkYjc5ZCAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCisrKyBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvQm91bmRPYmplY3QuaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIEJvdW5kT2Jq
ZWN0X2gKIAogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBCb3VuZE9iamVjdCBpcyBhIGhlbHBlciBjbGFzcyB0
aGF0IGxldHMgeW91IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxscwogLy8gZGlyZWN0bHkgdG8g
QysrIG1ldGhvZCBjYWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbmNlIEpTIG9iamVjdCBp
cwogLy8gYnVpbHQuCi1jbGFzcyBCb3VuZE9iamVjdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBCb3VuZE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQm91bmRPYmplY3Qp
OwogcHVibGljOgogICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRl
eHQsIHZvaWQqIHY4VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFtZSk7CiAgICAgdmlydHVhbCB+
Qm91bmRPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdl
ci5jcHAKaW5kZXggMDg2MGNiMS4uNTljMjE3NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9E
ZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJXZWJG
cmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01NSw3ICs1NCw4
IEBAIGJvb2wgRGVidWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3NlVjhEZWJ1Z2dlclByb3RvY29s
ID0gZmFsc2U7CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1Ymxp
YyB2ODo6RGVidWc6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWxs
ZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGljOgogICAgIENhbGxlcklkV3Jh
cHBlcigpIDogbV9jYWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9jYWxsZXJJZCgwKSB7IH0KICAg
ICBleHBsaWNpdCBDYWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklkKQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3MTQuLmI3ODU2Y2YgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDYg
QEAKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYzLDcgKzYyLDgg
QEAgY2xhc3MgV2ViVmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qgc29tZSBhY3Rpb25zIGZyb20g
dGhlIGhhbmRsZXIuIElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlCiAvLyBkZWJ1Z2dlciBhZ2Vu
dCB0byBoYW5kbGUgc3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3aWxsIHBlcmZvcm0gdGhlIGFj
dGlvbgogLy8gaXRzZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcgd2FpdGluZyBmb3IgdGhlIGFj
dGlvbi4KLWNsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
ZWJ1Z2dlckFnZW50TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVidWdBdHRh
Y2goRGVidWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRl
YnVnRGV0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9XZWJL
aXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4IGZjMjFm
M2UuLjA1OTZjYWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudEltcGwuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBJbnNwZWN0b3JGcm9u
dGVuZENsaWVudEltcGxfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OwpAQCAtNDQsOCArNDMsOCBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIGNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFzcyBXZWJEZXZUb29s
c0Zyb250ZW5kSW1wbDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVi
bGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNzIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
KTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoV2ViQ29yZTo6UGFn
ZSosIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCop
OwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAppbmRleCA4ODBhZGI0Li4wMjI2
ZWYzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBs
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApA
QCAtNTgsNyArNTgsNiBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKICNpbmNsdWRlICJX
ZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogdXNpbmcgV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRl
dlRvb2xzRnJvbnRlbmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJv
bnRlbmRJbXBsLmgKaW5kZXggODY2YTFjYi4uYjA4NTMzOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1
ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAt
NTUsOCArNTQsOCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogdXNpbmcgV1RG
OjpTdHJpbmc7CiAKLWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktp
dDo6V2ViRGV2VG9vbHNGcm9udGVuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJs
aWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAgICAgV2ViRGV2VG9vbHNGcm9u
dGVuZEltcGwoCiAgICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwqIHdlYlZpZXdJbXBsLApkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IGFkYWFiNjEuLmMwNTQ4MzcgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI3OSw3ICsyNzksOCBAQCBXZWJQbHVn
aW5Db250YWluZXJJbXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShG
cmFtZSogZnJhbWUpCiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVycmlkZSBzb21lIG9mIFByaW50
Q29udGV4dCBiZWhhdmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwogLy8gbWFkZSB2aXJ0dWFsIHNv
IHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBsdWdpblByaW50Q29udGV4dC4K
LWNsYXNzIENocm9tZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmludENvbnRleHQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250
ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQcmludENvbnRleHQpOwogcHVi
bGljOgogICAgIENocm9tZVByaW50Q29udGV4dChGcmFtZSogZnJhbWUpCiAgICAgICAgIDogUHJp
bnRDb250ZXh0KGZyYW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmggYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwuaAppbmRleCA0YmJhZTI1Li42N2M0NjA4IDEw
MDY0NAotLS0gYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXJFZmwuaAorKysgYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXJFZmwuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVs
ZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAg
IHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oIGIvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggZDRi
YmVhMi4uM2ZiOGIxNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmgKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJI
VE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAgYi9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRkb3dubG9hZC5jcHAKaW5kZXggMThiNjRhYi4uZTI2YTVjNCAxMDA2NDQKLS0t
IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCisrKyBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcApAQCAtMjIsNyArMjIsNiBAQAogCiAjaW5jbHVkZSA8
Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlICJHUmVmUHRyLmgiCi0jaW5jbHVkZSAiTm9uY29w
eWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAt
NTQsNyArNTMsOCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAqIG91dCB3aGF0IGlzIHRv
IGJlIGRvd25sb2FkZWQsIGFuZCBkbyBpdCBpdHNlbGYuCiAgKi8KIAotY2xhc3MgRG93bmxvYWRD
bGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7
CitjbGFzcyBEb3dubG9hZENsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG93bmxvYWRDbGllbnQpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgRG93bmxvYWRDbGllbnQoV2ViS2l0RG93bmxvYWQqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dlYktpdC9tYWMv
Rm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDA1MDgwMjQuLjAwMDAwMDAKLS0tIGEvV2ViS2l0L21hYy9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbXBv
cnQgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oIGIvV2ViS2l0L21h
Yy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAppbmRleCBmNzg0
YWRlLi40ZjJjNTY2IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCisrKyBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQv
TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKQEAgLTMxMyw3ICszMTMsOCBAQCBwcml2YXRl
OgogICAgIGJvb2wgZGVtYXJzaGFsVmFsdWVGcm9tQXJyYXkoSlNDOjpFeGVjU3RhdGUqLCBOU0Fy
cmF5ICphcnJheSwgTlNVSW50ZWdlciYgaW5kZXgsIEpTQzo6SlNWYWx1ZSYgcmVzdWx0KTsKICAg
ICB2b2lkIGRlbWFyc2hhbFZhbHVlcyhKU0M6OkV4ZWNTdGF0ZSosIGRhdGFfdCB2YWx1ZXNEYXRh
LCBtYWNoX21zZ190eXBlX251bWJlcl90IHZhbHVlc0xlbmd0aCwgSlNDOjpNYXJrZWRBcmd1bWVu
dEJ1ZmZlciYgcmVzdWx0KTsKIAotICAgIGNsYXNzIExvY2FsT2JqZWN0TWFwIDogTm9uY29weWFi
bGUgeworICAgIGNsYXNzIExvY2FsT2JqZWN0TWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTG9jYWxPYmplY3RNYXApOwogICAgIHB1YmxpYzoKICAgICAgICAgTG9jYWxPYmplY3RN
YXAoKTsKICAgICAgICAgfkxvY2FsT2JqZWN0TWFwKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFj
L1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tIGIvV2ViS2l0L21hYy9TdG9yYWdl
L1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQppbmRleCAyOTEzNzM5Li42NWFiYTQzIDEwMDY0
NAotLS0gYS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCisr
KyBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KQEAgLTUy
LDcgKzUyLDggQEAgV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Ojp+V2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50KCkKIHsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBk
aXNwYXRjaFRvTWFpblRocmVhZChXZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQqIGNsaWVudCwgU2Vj
dXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViS2l0
X3BjaC5oIGIvV2ViS2l0L3F0L1dlYktpdF9wY2guaAppbmRleCAxZGQ0ZDUyLi5lMDk1ZWY0IDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCisrKyBiL1dlYktpdC9xdC9XZWJLaXRf
cGNoLmgKQEAgLTcyLDcgKzcyLDYgQEAKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2lu
Y2x1ZGUgPHd0Zi9UQ1N5c3RlbUFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAjaW5jbHVkZSA8d3RmL0Fsd2F5c0lubGlu
ZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oIGIvV2ViS2l0L3dp
bi9DT01FbnVtVmFyaWFudC5oCmluZGV4IGE5M2EzYzIuLjY3MjUxMDcgMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAorKysgYi9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50
LmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2RlZmluZSBOT01JTk1BWAogI2luY2x1ZGUgPHVua253
bi5oPgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlICJDT01WYXJp
YW50U2V0dGVyLmgiCiAKIHRlbXBsYXRlPHR5cGVuYW1lIENvbnRhaW5lclR5cGU+Ci1jbGFzcyBD
T01FbnVtVmFyaWFudCA6IHB1YmxpYyBJRW51bVZBUklBTlQsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDT01FbnVtVmFyaWFudCA6IHB1YmxpYyBJRW51bVZBUklBTlQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENPTUVudW1WYXJpYW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09N
RW51bVZhcmlhbnQqIGFkb3B0KENvbnRhaW5lclR5cGUmKTsKICAgICBzdGF0aWMgQ09NRW51bVZh
cmlhbnQqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IENvbnRhaW5lclR5cGUmKTsKZGlmZiAtLWdpdCBh
L1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaCBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aAppbmRleCA2MTBjMzY3Li4yYjU3YTY3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTVByb3Bl
cnR5QmFnLmgKKysrIGIvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCkBAIC0yOSwxMyArMjks
MTMgQEAKICNkZWZpbmUgTk9NSU5NQVgNCiAjaW5jbHVkZSA8dW5rbnduLmg+DQogDQotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPg0KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPg0KIA0KICNp
bmNsdWRlICJDT01WYXJpYW50U2V0dGVyLmgiDQogDQogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVU
eXBlLCB0eXBlbmFtZSBLZXlUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmcsIHR5cGVuYW1lIEhh
c2hUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmdIYXNoPg0KLWNsYXNzIENPTVByb3BlcnR5QmFn
IDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIsIE5vbmNvcHlhYmxl
IHsNCitjbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJ
UHJvcGVydHlCYWcyIHsNCisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ09NUHJvcGVydHlCYWcp
Ow0KIHB1YmxpYzoNCiAgICAgdHlwZWRlZiBIYXNoTWFwPEtleVR5cGUsIFZhbHVlVHlwZSwgSGFz
aFR5cGU+IEhhc2hNYXBUeXBlOw0KIA0KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oIGIvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmgKaW5kZXggOWFjOGM2OS4uNzUzMTg4OCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9GdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyLmgKKysrIGIvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyLmgKQEAgLTEwMiw3ICsxMDIsOCBAQCBwcml2YXRlOgogICAgIGludCBtX2RyYWdTdGFy
dE9mZnNldDsKIH07CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUZ1bGxzY3JlZW5DbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAgYi9XZWJLaXQvd2luL1dl
YkRhdGFiYXNlTWFuYWdlci5jcHAKaW5kZXggYmRjYjU0OS4uZTJiODFlMSAxMDA2NDQKLS0tIGEv
V2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViRGF0
YWJhc2VNYW5hZ2VyLmNwcApAQCAtNTIsNyArNTIsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNF
cXVhbChMUENXU1RSIHMxLCBMUENXU1RSIHMyKQogICAgIHJldHVybiAhd2NzY21wKHMxLCBzMik7
CiB9CiAKLWNsYXNzIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0
eUJhZywgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5
QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0
YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcpOwogcHVibGljOgogICAgIHN0YXRpYyBEYXRhYmFzZURl
dGFpbHNQcm9wZXJ0eUJhZyogY3JlYXRlSW5zdGFuY2UoY29uc3QgRGF0YWJhc2VEZXRhaWxzJik7
CiAKQEAgLTMyOCw3ICszMjksOCBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkRhdGFi
YXNlTWFuYWdlcjo6ZGVsZXRlRGF0YWJhc2UoCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLWNsYXNz
IERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9k
aWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2lu
RGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2Vi
RGF0YWJhc2VNYW5hZ2VyKiBkYXRhYmFzZU1hbmFnZXIsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4p
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaCBiL1dlYktpdC93
aW4vV2ViSW5zcGVjdG9yLmgKaW5kZXggMDUzYTU5My4uY2QzMjRhOCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9XZWJJbnNwZWN0b3IuaAorKysgYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCkBA
IC0zMCwxMSArMzAsMTEgQEAKICNkZWZpbmUgV2ViSW5zcGVjdG9yX2gKIAogI2luY2x1ZGUgIldl
YktpdC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFzcyBXZWJWaWV3Owog
Ci1jbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYkluc3BlY3RvciwgcHVibGljIElXZWJJ
bnNwZWN0b3JQcml2YXRlLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViSW5zcGVjdG9y
IDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViSW5zcGVjdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgV2ViSW5zcGVjdG9yKiBjcmVhdGVJbnN0YW5jZShXZWJWaWV3Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcCBiL1dlYktpdC93aW4vV2ViTG9j
YWxpemFibGVTdHJpbmdzLmNwcAppbmRleCBkYTZiMjIxLi5lOWI5OWFkIDEwMDY0NAotLS0gYS9X
ZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJM
b2NhbGl6YWJsZVN0cmluZ3MuY3BwCkBAIC03Miw3ICs3Miw4IEBAIHN0YXRpYyBMb2NhbGl6ZWRT
dHJpbmdNYXAgZnJhbWV3b3JrTG9jU3RyaW5ncygpCiAgICAgcmV0dXJuIG1hcDsKIH0KIAotY2xh
c3MgTG9jYWxpemVkU3RyaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsaXpl
ZFN0cmluZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxpemVkU3RyaW5nKTsKIHB1
YmxpYzoKICAgICBMb2NhbGl6ZWRTdHJpbmcoQ0ZTdHJpbmdSZWYgc3RyaW5nKQogICAgICAgICA6
IG1fY2ZTdHJpbmcoc3RyaW5nKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3Js
ZC5oIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCmluZGV4IGYwODhhNzIuLjAxNTExZGUg
MTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAorKysgYi9XZWJLaXQvd2lu
L1dlYlNjcmlwdFdvcmxkLmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIH0KIAotY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBw
dWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViU2NyaXB0V29ybGQgeworY2xhc3MgV2ViU2Ny
aXB0V29ybGQgOiBwdWJsaWMgSVdlYlNjcmlwdFdvcmxkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXZWJTY3JpcHRXb3JsZCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlNjcmlwdFdvcmxk
KiBzdGFuZGFyZFdvcmxkKCk7CiAgICAgc3RhdGljIENPTVB0cjxXZWJTY3JpcHRXb3JsZD4gY3Jl
YXRlSW5zdGFuY2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFs
dWUuaCBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaAppbmRleCBhMmQ2ZDU2Li42
ZTM3NDdkIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKKysr
IGIvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCkBAIC0zNCw3ICszNCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiB9CiAK
LWNsYXNzIFdlYlNlcmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMg
SVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0
ZSB7CitjbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBJV2ViU2VyaWFsaXplZEpT
VmFsdWUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWJTZXJpYWxpemVkSlNWYWx1ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IENPTVB0cjxXZWJTZXJpYWxpemVkSlNWYWx1ZT4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBiL1dlYktpdC93aW4v
V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKaW5kZXggZThmNmI2Ny4uNDI4NTRiNCAxMDA2NDQK
LS0tIGEvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAorKysgYi9XZWJLaXQv
d2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCkBAIC0zMiw3ICszMiw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBVc2VyQ29udGVudFVSTFBhdHRlcm47CiB9CiAKLWNsYXNz
IFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElX
ZWJVc2VyQ29udGVudFVSTFBhdHRlcm4geworY2xhc3MgV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
IDogcHVibGljIElXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4geworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdlYlVzZXJDb250ZW50VVJMUGF0dGVybik7CiBwdWJsaWM6CiAgICAgc3RhdGljIENP
TVB0cjxXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzk0ZDlj
Ni4uMjI0NWJiZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0xMS0yMiAgWm9sdGFuIEhvcnZhdGggIDx6
b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBj
bGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQg
aW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5v
bmNvcHlhYmxlIGFuZCAKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWly
IG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBpbmNsdWRlcy4KKwog
MjAxMC0xMS0xNyAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBCaW5hcnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1By
aW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJm
Ni4uZWMxYWNjZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9X
ZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVs
ZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5
LDcgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1vZHVsZSk7CiBwdWJsaWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAg
fk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBi
L1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQy
L1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJl
ZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAKQEAgLTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUK
ICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhh
bmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGlj
OgogICAgICAgICBIYW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHku
aAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAg
LTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
UnVuTG9vcC5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEw
YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysr
IGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBA
QCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nl
c3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgog
ICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApp
bmRleCA3OGZlMWY0Li44YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFBy
b2Nlc3MuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3
LDExIEBACiAjZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6
CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0
Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjku
LjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXIuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2Fn
ZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRi
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysg
Yi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBA
QAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50
aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JX
aW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5o
CmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJ
bmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9y
dCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9y
dCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUy
Li4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNT
KQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQx
LDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7
CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDog
Tm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4u
OWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2lu
SW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVn
aW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1
Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3Rvcmll
czsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
YXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1Ymxp
YzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIv
VUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNz
IFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1By
b3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsK
IApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM0NzRiOGYuLjRl
YTEwMzUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01Myw3ICs1Miw2
IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1l
c3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9h
ZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVp
bnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAg
IH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRN
YW5hZ2VyLmgKaW5kZXggMTliYmU4Yy4uNjA3NGVkZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nl
c3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5l
IERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVz
b3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9O
UEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
bnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8v
IE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3Mg
TlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09i
amVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09i
amVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVP
YmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1h
bmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0
aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
ci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rp
b25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1j
bGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgK
KysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJs
YXkuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZj
NzE5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3Iu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0Zvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0Zv
cndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAs
MCBAQAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmggYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKaW5kZXgg
NmNiNjM4ZS4uYmQzNmQ1OCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApAQCAtNDUsNyArNDUsNiBAQAogCiAjaW5jbHVkZSAi
Q3BwVmFyaWFudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIApAQCAtNTgsNyArNTcsOCBAQCB0eXBlZGVmIFZlY3RvcjxDcHBWYXJpYW50PiBDcHBB
cmd1bWVudExpc3Q7CiAKIC8vIENwcEJvdW5kQ2xhc3MgbGV0cyB5b3UgbWFwIEphdmFzY3JpcHQg
bWV0aG9kIGNhbGxzIGFuZCBwcm9wZXJ0eSBhY2Nlc3NlcwogLy8gZGlyZWN0bHkgdG8gQysrIG1l
dGhvZCBjYWxscyBhbmQgQ3BwVmFyaWFudCogdmFyaWFibGUgYWNjZXNzLgotY2xhc3MgQ3BwQm91
bmRDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDcHBCb3VuZENsYXNzIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcHBCb3VuZENsYXNzKTsKIHB1YmxpYzoKICAgICBjbGFz
cyBQcm9wZXJ0eUNhbGxiYWNrIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmggYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKaW5kZXggZTE0Nzhk
MC4uMGRhYzRjNyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlRh
c2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0FnZW50Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKQEAgLTQ5LDggKzQ4LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7
CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50OwogCi1jbGFzcyBEUlREZXZUb29sc0FnZW50IDog
cHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudAotICAgICAgICAgICAgICAgICAg
ICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVi
bGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHNBZ2VudCgp
OwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQWdlbnQoKSB7fQpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaCBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKaW5kZXgg
OWNhMTQwMi4uMDMwZDY4NyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5j
bHVkZSAiRFJURGV2VG9vbHNDYWxsQXJncy5oIgogI2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRl
ICJXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4
LDggKzQ3LDggQEAgY2xhc3MgV2ViVmlldzsKIAogY2xhc3MgRFJURGV2VG9vbHNBZ2VudDsKIAot
Y2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250
ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEUlREZXZUb29sc0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJv
bnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQ2xpZW50
KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29sc0NsaWVudChEUlREZXZUb29sc0FnZW50KiwgV2Vi
S2l0OjpXZWJWaWV3Kik7CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNDbGllbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9u
Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5h
dmlnYXRpb25Db250cm9sbGVyLmgKaW5kZXggYjY3MTQ4OS4uODUwMmE5NiAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9s
bGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmln
YXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3ICsxMTEsOCBAQCBwdWJsaWM6CiAKIC8vIFRlc3Qg
c2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxlci4gVGhlIGdvYWwgaXMgdG8gYmUgYXMgY2xvc2Ug
dG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBhcyBwb3NzaWJsZS4KLWNsYXNzIFRlc3ROYXZpZ2F0
aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3ROYXZpZ2F0aW9u
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdE5hdmlnYXRpb25Db250
cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIoTmF2aWdhdGlv
bkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRpb25Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5o
CmluZGV4IDM4ODMxZDkuLjk2MThkYzQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCkBAIC00MSwxMiArNDEs
MTIgQEAKIAogI2luY2x1ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5oIgogI2luY2x1ZGUg
InRoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3JlL1NrQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogLy8gU2tpYSBmb3J3YXJkIGRlY2xhcmF0aW9ucwogc3RydWN0IFNr
SVJlY3Q7CiAKLWNsYXNzIFdlYlRoZW1lQ29udHJvbERSVCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdl
YlRoZW1lQ29udHJvbERSVCk7CiBwdWJsaWM6CiAgICAgLy8gVGhpcyBsaXN0IG9mIHN0YXRlcyBt
b3N0bHkgbWlycm9ycyB0aGUgbGlzdCBpbiBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAog
ICAgIC8vIGJ1dCBpcyBtYWludGFpbmVkIHNlcGFyYXRlbHkgc2luY2UgdGhhdCBpc24ndCBwdWJs
aWMgYW5kIGFsc28gdG8gbWluaW1pemUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCmluZGV4IGU1MDg4NmIuLjUzNjJm
YjMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRo
ZW1lRW5naW5lRFJULmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVFbmdpbmVEUlQuaApAQCAtNDgsOSArNDgsOSBAQAogI2RlZmluZSBXZWJUaGVtZUVu
Z2luZURSVF9oCiAKICNpbmNsdWRlICJ3aW4vV2ViVGhlbWVFbmdpbmUuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAotY2xhc3MgV2ViVGhlbWVFbmdpbmVEUlQgOiBwdWJsaWMgV2Vi
S2l0OjpXZWJUaGVtZUVuZ2luZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYlRoZW1l
RW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYlRoZW1lRW5naW5lRFJUKTsKIHB1YmxpYzoKICAgICBXZWJUaGVtZUVu
Z2luZURSVCgpIHt9CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9z
dFdpbmRvdy5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKaW5kZXgg
YTI3MzRlZC4uYzE3MTgxMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9I
b3N0V2luZG93LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgK
QEAgLTI2LDExICsyNiwxMCBAQAogI2RlZmluZSBIb3N0V2luZG93X2gKIAogI2luY2x1ZGUgPHdp
bmRvd3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktp
dEFQSVRlc3QgewogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhvc3RXaW5kb3cgewogcHVibGljOgogICAgIEhvc3RXaW5kb3coKTsKICAgICB+SG9zdFdp
bmRvdygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRy
b2xsZXIuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKaW5k
ZXggMTFiNDU3ZC4uYmRjYzQ1NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVz
dC9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3Rz
Q29udHJvbGxlci5oCkBAIC0yOCwxMyArMjgsMTMgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCiBjbGFz
cyBUZXN0OwogCi1jbGFzcyBUZXN0c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGVzdHNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0c0Nv
bnRyb2xsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXN0c0NvbnRyb2xsZXImIHNoYXJlZCgp
OwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmggYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKaW5k
ZXggZmVjMWY3YS4uMjM2Y2MxYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdEludm9jYXRpb24uaApAQCAtMjcsMTEgKzI3LDEwIEBACiAjZGVmaW5lIFRlc3RJbnZvY2F0
aW9uX2gKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdUUiB7CiAKLWNsYXNzIFRlc3RJbnZvY2F0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RJbnZvY2F0aW9uIHsKIHB1YmxpYzoK
ICAgICBUZXN0SW52b2NhdGlvbihjb25zdCBjaGFyKik7CiAgICAgflRlc3RJbnZvY2F0aW9uKCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74640</attachid>
            <date>2010-11-23 04:10:47 -0800</date>
            <delta_ts>2010-11-23 05:40:44 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>kedd2.patch</filename>
            <type>text/plain</type>
            <size>325784</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi44ZTk4NjM5IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC0xMTIsNyArMTEyLDkgQEAgc3RydWN0IEJyYWNr
ZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7CiB9OwogCi1zdHJ1
Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNoRnJhbWUgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJuTG9jYXRpb24gcmV0
dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3VzRnJhbWU7CiAgICAg
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRleCA3NmMxNDcwLi4y
NTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmll
ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4
LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNpbmNsdWRlIDxydW50
aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcgbV9uYW1lOwogICAg
ICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVOdW1iZXI7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIvSmF2YVNjcmlwdENv
cmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7ICAgIAogCi0gICAg
Y2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUHJvZmls
ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNlKCkKICAgICAgICAg
ewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmggYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2UzYzIwIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5jbHVkZSAiQ2FsbEZy
YW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAgICBjbGFzcyBNYXJr
ZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya2Vk
QXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYXJrZWRBcmd1
bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8UmVnaXN0ZXIsIGlu
bGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5k
ZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCkBAIC0z
Myw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBBcmd1bWVudHNE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRhIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpT
QWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJz
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9w
dGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3LDEyICsyNywxMiBA
QAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVmaW5lIEJhdGNoZWRU
cmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEJh
dGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIDogbV9v
YmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0
b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5kZXggMjM3YzEzOS4u
OTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFnZUFsbG9jYXRp
b24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyArODYsOCBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBIZWFwIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAxZTIyYjZhLi5mMTdl
MjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0y
Miw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAogI2luY2x1ZGUgIklk
ZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gTWFya2VkQXJn
dW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1hY3JvIHNvIHdlIGNh
biBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVwZWF0aW5nIHRoZSBs
aXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIENv
bW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb21tb25J
ZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklkZW50aWZp
ZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICBDb21t
b25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpTR2xv
YmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQuLjczNjNhZjggMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkpTVmFs
dWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4wYzViYmVkIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyArNDY1LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMpOwogICAgIH0K
IAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNH
bG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAgICAgOiBtX2R5bmFt
aWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5bmFtaWNHbG9iYWxP
YmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42NGQ3YTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgSlNMb2NrX2gK
IAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25zT25seSwgTG9j
a0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNMb2NrKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAgICAgSlNMb2Nr
KEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBjbGFzcyBEcm9w
QWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxsTG9j
a3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExvY2tzKTsKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYyk7
CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHByaXZhdGU6CiAgICAg
bXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdpZmllciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVyKEV4ZWNTdGF0ZSos
IEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJpbmdpZmllcigpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHR5cGVk
ZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAgICAgdHlwZWRlZiB2
b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlT2JqZWN0LCBKU1Zh
bHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmluZ0ltcGwqIGtleSwg
dW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRyX3QgdjIKICNpZiBF
TkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2su
aCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXggYzU1MWJhYy4uMTAx
OGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3ICsyNyw4IEBACiAj
ZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAgICAgZW51bSBNYXJr
U2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxWYWx1ZXMgfTsKICAg
ICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya1N0
YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNrKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAgICAgICAgICAgIDog
bV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3QgUmVnRXhwQ29uc3Ry
dWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSA6IEZh
c3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgLy8gR2xv
YmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yUHJp
dmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsKIAot
ICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAg
ICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAg
IFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJs
ZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAg
ICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWlu
LmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWlu
LmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAjZGVmaW5lIFNjb3Bl
Q2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hhaW5JdGVyYXRvcjsK
ICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSog
bmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAg
IDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0
cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4
IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21h
bGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5j
cHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5j
bHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAg
c3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJu
IHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxT
dHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NT
dG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsK
IHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAg
ICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNt
YWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTbWFsbFN0cmlu
Z3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xU
YWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJv
bFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVm
IEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5LCBJZGVudGlmaWVy
UmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3ltYm9sVGFibGVJbmRl
eEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVkU3ltYm9sVGFibGUg
OiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlZFN5bWJvbFRhYmxl
PiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlNDZWxsOwogCiAvLyBB
IEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZhbHVlKCkgZm9yIGNl
bGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlw
ZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAv
KgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMgdGhlIFdlYWtHQ01h
cCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0
ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIu
aApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3IuaCIKICNpbmNsdWRl
ICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMg
MCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNs
YXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vha0dDUHRyKTsKIHB1
YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApAQCAtNTEsNyArNTEs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFs
IGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkK
ICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAg
ICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291bnRlZCk7CiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVhZFJlZkNvdW50ZWQ8
VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCBi
ZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGgu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYsNyArNDYsNiBAQAog
I2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyArMTA4LDkgQEAgZG91
YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiwgY29u
c3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVycmlkZGluZyB0aGUg
ZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9u
IHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBHcmVnb3JpYW5EYXRl
VGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRlKDApCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1
ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBAIC00NCw3ICs0NCw4
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIERlcXVl
Q29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNs
YXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIERlcXVlIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVk
ZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0
SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaApp
bmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFz
dEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAg
LTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFz
dE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVk
IGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8v
ICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwog
Ly8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+
KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhl
IHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAv
LyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShj
aGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi0jZGVmaW5l
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZvaWQqIG9wZXJhdG9y
IG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZvaWQqIG9wZXJhdG9y
IG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAgXAotICAgIHZvaWQq
IG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAgICB2b2lkKiBwID0g
OjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0
Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsg
XAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9y
IGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0
Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwK
LSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQq
IG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAg
PSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01h
dGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0Fy
cmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9w
ZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0
TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFz
c05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi1w
cml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAogICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RBbGxvY0Jhc2Ugewog
CiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NCYXNlOwogdXNpbmcg
V1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYgLy8gRmFzdEFsbG9j
QmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRlZDc1YzUuLjdhYjI5
ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwxNCArMjIsMTQgQEAK
ICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIK
LSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1hcC5oIgogI2luY2x1
ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+
IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0
eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHM+
IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9I
YXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4IDA5MDk0ZDEuLjQ5
NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1lc3BhY2UgV1RG
IHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0
eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKICAg
ICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0eXBlbmFt
ZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAgIGNsYXNzIEhh
c2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRl
ZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0Fy
ZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0Li5iZWFlNGZiIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9yOwogCiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZh
dWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0c0FyZyA9IEhh
c2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBj
bGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlw
ZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCmluZGV4
IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCkBAIC01Miw3ICs1
Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBz
aXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I7CiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlw
ZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5jdGlvbnM7CiAKLSAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2
LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNo
PiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFt
ZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBM
aXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0
ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcsIGlubGluZUNhcGFj
aXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxWYWx1
ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKaW5kZXgg
NDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEgKzI4LDExIEBACiAj
aWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFz
cyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNs
YXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2VyKTsKIHB1YmxpYzoK
ICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xvY2th
YmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9N
RDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0zMiw2ICszMiw3IEBA
CiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUg
PHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5o
CmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9N
ZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKQEAg
LTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtNDgs
NyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3NhZ2VzIGFyZSBmZXRj
aGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNzYWdlUXVldWUgYWN0
cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
RGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShN
ZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1ZXVlKCkgOiBtX2tp
bGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNv
cHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVkMmUuLjAwMDAwMDAK
LS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICog
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdURl9Ob25jb3B5
YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYgX19oYXNfZmVhdHVy
ZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQotI2lmIF9faGFzX2Zl
YXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcHVz
aCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd1bmtu
b3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZhdGU6IFwKLSAgICAg
ICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAotICAgICAgICAg
ICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKLSAg
ICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UKLSAgICAjZGVmaW5l
IFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBwcml2YXRlOiBcCi0g
ICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAgICAgICAgICAgIENs
YXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYKLQotLy8gV2UgZG9u
J3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4gZXZlcnl0aGluZyBm
cm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29weWFibGUsIHNvIHB1
dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIK
LQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5vbmNvcHlhYmxlIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShjb25zdCBOb25jb3B5
YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0IE5vbmNvcHlhYmxl
Jik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsgfQotICAgICAgICB+
Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXVEZOb25jb3B5YWJs
ZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNlbmRpZiAvLyBXVEZf
Tm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRy
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2NDNiOTBiLi5jZDY0
ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmlu
ZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUg
Ik5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93bkFycmF5
UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyArMzQsNyBAQCBuYW1l
c3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NPd25BcnJheVB0cjsK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9wdEFycmF5UHRyKFQq
KTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0ciB7CiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RN
YWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25G
YXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBPd25GYXN0TWFsbG9j
UHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5o
IgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZh
c3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShP
d25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0IE93bkZhc3RN
YWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCmlu
ZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIyLDcgKzIyLDYgQEAK
ICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVk
ZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5jbHVkZSAiT3duUHRy
Q29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyArMzgsNyBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duUHRyOwog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQdHIoVCopOwogCi0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewogICAgIHB1YmxpYzoK
ICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpUeXBlIFZhbHVlVHlw
ZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Q
bGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0yLDYgKzIs
NyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBN
b2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQg
MjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJz
aXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTE4LDQg
KzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgogCisvKiBOb25jb3B5
YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRlZiBfX2hhc19mZWF0
dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgorCisjaWYgX19oYXNf
ZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBXVEZfTUFLRV9OT05D
T1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBw
dXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3Vu
a25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJpdmF0ZTogXAorICAg
ICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCisgICAgICAg
ICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAor
ICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxzZQorICAgICNkZWZp
bmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIHByaXZhdGU6IFwK
KyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAorICAgICAgICAgICAg
Q2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRpZgorCisvKiBQcm92
aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9kZWxldGUgKi8KKwor
I2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwKKyAgICB2b2lkKiBv
cGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKKyAgICB2b2lkKiBv
cGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAorICAgIFwKKyAg
ICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwKKyAgICAgICAgdm9p
ZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6OldURjo6ZmFzdE1h
bGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFz
c05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCBv
cGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6OldURjo6ZmFzdE1h
bGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NO
ZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0gXAorICAgIFwKKyAg
ICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsgXAorICAgICAgICB2
b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAgOjpXVEY6OmZhc3RN
YWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xh
c3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBcCisgICAg
dm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisgICAgICAgICA6OldU
Rjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NU
eXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAg
IH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVk
LmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAKICNpbmNsdWRlICJB
c3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0QWxs
b2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMxLDggQEAgaW5saW5l
IHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5kaWYKIAotdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50
ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
ZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZvaWQgZGVy
ZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0
ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkKICAgICB7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLjNmYWFiYWQgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgK
QEAgLTI0LDcgKzI0LDYgQEAKICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKICNpbmNsdWRlIDxhbGdv
cml0aG0+Ci0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIu
aCIKIAogbmFtZXNwYWNlIFdURiB7CkBAIC0zNiw3ICszNSw4IEBAIG5hbWVzcGFjZSBXVEYgewog
CiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZh
bHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFM
V0FZU19JTkxJTkUgUmVmUHRyKCkgOiBtX3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElO
RSBSZWZQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKaW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvUmVmUHRySGFzaE1hcC5oCkBAIC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewog
ICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5
cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJh
aXRzQXJnPgotICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcs
IEtleVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFp
dHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsK
ICAgICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2Fm
ODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50
aWZpZXJEYXRhUHRocmVhZHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRp
ZmllckRhdGFQdGhyZWFkcy5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRl
bnRpZmllckRhdGFQdGhyZWFkc19oCiAjZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVh
ZHNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBp
biB0aGUgdGhyZWFkLXNwZWNpZmljIHN0b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lm
aWMgMi1wYXNzIGRlc3RydWN0aW9uIHRvIHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRp
ZmllciBmcm9tIHRocmVhZE1hcC4gSXQgYXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5
cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1wYXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRl
bnRpZmllckRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmll
ckRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsK
IHB1YmxpYzoKICAgICB+VGhyZWFkSWRlbnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTYWZlU2hhcmVkLmgKaW5kZXggMzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBAIC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0
Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRocmVhZFNhZmVTaGFyZWRCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAg
ICAgICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNw
ZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uMTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNw
ZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYgQEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gK
ICNkZWZpbmUgV1RGX1RocmVhZFNwZWNpZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaWYgVVNFKFBUSFJFQURTKQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcg
KzYwLDggQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgp
OwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNw
ZWNpZmljIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJs
aWM6CiAgICAgVGhyZWFkU3BlY2lmaWMoKTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3
ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwog
CiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBP
UyhXSU5ET1dTKQotICAgIHN0cnVjdCBEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBE
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgog
ICAgICAgICBEYXRhKFQqIHZhbHVlLCBUaHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUo
dmFsdWUpLCBvd25lcihvd25lcikge30KICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEo
KSB7IG93bmVyLT5kZXN0cm95KHRoaXMpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNp
ZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3Qg
YmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVh
ZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZGluZy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0
OWRlNTllLi43MmFlNWU1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAs
OSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0
QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdUaHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24g
ZW50cnlQb2ludCwgdm9pZCogZGF0YSwgY29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRy
eVBvaW50KGVudHJ5UG9pbnQpCiAgICAgICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oCmluZGV4IDA0NDM2NWYuLmRhZWExOGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2
LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2Nr
ZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmlt
aXRpdmVzLmgKaW5kZXggYzExYTZjYi4uMmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0zNSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogI2lmIE9TKFdJTkRPV1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYs
NyArOTUsOCBAQCB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYg
dm9pZCogUGxhdGZvcm1Db25kaXRpb247CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNdXRleCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsK
ICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExv
Y2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUmVhZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVhZFdyaXRlTG9jayk7CiBwdWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAg
IH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0xMzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0
Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFkV3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29u
ZGl0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBU
aHJlYWRDb25kaXRpb24oKTsKICAgICB+VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgK
aW5kZXggZjczNzkzZi4uYWJjOTYwMyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Zl
Y3Rvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBA
QAogI2lmbmRlZiBXVEZfVmVjdG9yX2gKICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRl
ICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJG
YXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAiTm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRy
YXMuaCIKICNpbmNsdWRlICJWYWx1ZUNoZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3Mg
VmVjdG9yQnVmZmVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9y
QnVmZmVyQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJh
c2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3
Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAgLTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5
ID0gMD4KLSAgICBjbGFzcyBWZWN0b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgVmVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRl
OgogICAgICAgICB0eXBlZGVmIFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVy
OwogICAgICAgICB0eXBlZGVmIFZlY3RvclR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25z
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBU
aGlzIHdhcyBFTkFCTEUoV09SS0VSUykgaW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmlu
ZWQgd2hlbiBjb21waWxpbmcgSlNDLgpAQCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhh
c2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJhbElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRp
ZmllclRhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxl
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVy
VGFibGUoKTsKIApAQCAtODQsNyArODQsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAog
dHlwZWRlZiB2b2lkICgqQXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdU
YWJsZSopOwogCi1jbGFzcyBXVEZUaHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdURlRocmVhZERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERh
dGEpOwogcHVibGljOgogICAgIFdURlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgp
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENv
cmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAK
QEAgLTQxNCw3ICs0MTQsMTAgQEAgc3RhdGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0
IEJpZ0ludCYgYlJlZikKICAgICBhUmVmID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9k
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAg
ICAgQmlnSW50IHZhbDsKICAgICBQNU5vZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmpl
Y3QvR093blB0ci5oCmluZGV4IGNlYzNlNDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29i
amVjdC9HT3duUHRyLmgKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4K
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBleHRlcm4gIkMiIHZvaWQgZ19mcmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0
ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyop
OwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8
PiB2b2lkIGZyZWVPd25lZEdQdHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBHT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBHT3duUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRy
KTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRy
KSB7IH0KICAgICB+R093blB0cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2Rl
ZmluZSBTdHJpbmdCdWZmZXJfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+
CiAjaW5jbHVkZSA8bGltaXRzPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVm
ZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5nQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBT
dHJpbmdCdWZmZXIodW5zaWduZWQgbGVuZ3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIw
MzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNl
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYs
MTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1w
bEJhc2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Vu
aWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJh
c2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBib29sIGlzU3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50
QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJ
bnZhbGlkRm9yU3RyaW5nSW1wbDsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVm
ZmVyU2hhcmVkLAogICAgIH07CiAKLSAgICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3
OwotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJU
KGluUGxhY2UpOyByZXR1cm4gaW5QbGFjZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3Rv
cmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFuIGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4K
ICAgICBTdHJpbmdJbXBsQmFzZSgpIHsgfQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvdW5pY29kZS9Db2xsYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0
b3IuaAppbmRleCBmZTZhODA5Li41YWIzNDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvdW5pY29kZS9Db2xsYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0Nv
bGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZp
bmUgV1RGX0NvbGxhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CkBAIC0zOSw3ICszOCw4IEBAIHN0cnVjdCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewog
Ci0gICAgY2xhc3MgQ29sbGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENv
bGxhdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVh
bCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNzID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUveWFyci9SZWdleEludGVycHJldGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4
SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYxY2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJy
L1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAtMzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7
CiAgICAgfQogfTsKIAotY2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgQnl0ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIEJ5dGVEaXNqdW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywg
dW5zaWduZWQgZnJhbWVTaXplKQogICAgICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0
dGVybnMpCkBAIC0zMTcsNyArMzE4LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVT
aXplOwogfTsKIAotc3RydWN0IEJ5dGVjb2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3Ry
dWN0IEJ5dGVjb2RlUGF0dGVybiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBCeXRlY29kZVBhdHRlcm4oUGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHks
IFZlY3RvcjxCeXRlRGlzanVuY3Rpb24qPiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVy
biYgcGF0dGVybiwgQnVtcFBvaW50ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBt
X2JvZHkoYm9keSkKICAgICAgICAgLCBtX2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2Up
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNj
cmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAg
ICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDaGFyYWN0ZXJDbGFzcyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoK
ICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xhc3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVs
bCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFuZ2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0
aW9uYWwgdGFibGUgZm9yIGZhc3RlciBsb29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAg
IC8vIHNwZWNpZmllZCBtYXRjaGVzIGFuZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3Ry
dWN0IFBhdHRlcm5UZXJtIHsKICAgICB9CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZl
IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0
ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0
aW9uKQogICAgICAgICAsIG1fb25jZVRocm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAg
c3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9j
b250YWluc0JPTCA6IDE7CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJu
YXRpdmUqIHBhcmVudCA9IDApCiAgICAgICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAs
IG1faGFzRml4ZWRTaXplKGZhbHNlKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdl
TG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6
b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBj
bGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQg
aW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5v
bmNvcHlhYmxlIGFuZCAKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWly
IG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3Nh
cnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRl
cnMvd3RmL05vbmNvcHlhYmxlLmg6IFJlbW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50
ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNs
b3VnaC4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9O
b25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNv
cHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAK
LS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9u
Y29weWFibGUuaD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRmNmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAg
Wm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBh
bmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxs
b2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5Niwg
IzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGlu
aGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJs
ZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAg
KiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0x
MS0xOCAgU2F0aXNoIFNhbXBhdGggIDxzYXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEplcmVteSBPcmxvdy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9O
b25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAw
MDAwCi0tLSBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFi
bGVfaAotI2RlZmluZSBXZWJDb3JlX0ZXRF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvTm9uY29weWFibGUuaD4KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggODVkYjZmZC4uOTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCkBAIC02MzU1OCwxMCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmls
ZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNc
d3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgi
DQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aAppbmRleCAyZWU1NmVlLi5iMmFjODY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmgKQEAgLTU3LDcgKzU3LDggQEAgc3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQ
b3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xh
c3MgQVhPYmplY3RDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2Jq
ZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
U291cmNlUHJvdmlkZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNl
UHJvdmlkZXIuaAppbmRleCA4MDlhNDg4Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRl
ciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQcm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUo
Q2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRT
Y3JpcHRTb3VyY2VQcm92aWRlcihjYWNoZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuaAppbmRleCA0YzI1NDA3Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250
cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwxMiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2Rl
ZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSAiVGltZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgICAgICBmcmllbmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsK
IAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5k
aW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYu
Ljc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBA
QAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9va3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NN
YXAuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
Nyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5n
IGRlbGV0ZWQgd2l0aG91dCBiZWluZyByZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3
cmFwcGVycyBiZWluZyBjYWNoZWQgdHdpY2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEpTRGVidWdXcmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RG
OjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVnV3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGlj
IEpTRGVidWdXcmFwcGVyU2V0JiBzaGFyZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFp
blRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAj
aWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBK
U01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWlu
VGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRF
eGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0
YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRB
Y3Rpb24uaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5
ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRB
Y3Rpb24uaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00
MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVp
dGhlciBvbmNlIG9yIHJlcGVhdGVkbHkuIFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAg
ICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVk
QWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24g
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8
U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQq
IGlzb2xhdGVkV29ybGQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENhY2hlZEZyYW1lRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFt
ZURhdGEuaAppbmRleCAxNWMyM2M1Li4yNzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAK
LSAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgICAgICB0eXBlZGVmIEhhc2hNYXA8IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlBy
b3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4gPiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5
M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1
Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFz
cyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6
RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6
IEpTQzo6RGVidWdnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2Vy
dmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0
RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdFByb2ZpbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgK
aW5kZXggMDVlN2EyNS4uZDRkZDYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRQcm9maWxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIu
aApAQCAtMzIsMTEgKzMyLDExIEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1
ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0
YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0
bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2Ny
aXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAt
NTIsNyArNTEsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMg
cHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRl
OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlw
dFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVj
dGVkUHRyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVu
dERhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4
IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50
RGF0YS5oCkBAIC0yNCwxNyArMjQsMTggQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5o
IgogI2luY2x1ZGUgIkRPTU9iamVjdEhhc2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEg
OiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRh
OjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnRE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxE
YXRhV29ybGRJdGVyYXRvcjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnRE
YXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnRE
YXRhKCkgeyB9CiAgICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAg
ICAgICBBU1NFUlQobV93b3JsZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2Rh
NGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJv
bGxlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0
NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBj
bGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0
Q29udHJvbGxlcihXb3JrZXJDb250ZXh0Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9s
bGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvRE9NRGF0YS5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAv
LyB0aHJlYWQuICBUaGUgRE9NRGF0YSBmb3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0
YSBmb3IgY2hpbGQgdGhyZWFkcwogICAgIC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAg
ICAvLwotICAgIGNsYXNzIERPTURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IERPTURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIERPTURhdGEoKTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djgu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CkBAIC0xNDksNyArMTQ4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xh
c3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxpZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0
b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMgbWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0g
ICAgY2xhc3MgRE9NRGF0YVN0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBE
T01EYXRhU3RvcmUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUp
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAg
ICAgICBET01Ob2RlTWFwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRD
YWNoZWRGcmFtZURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQyZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENhY2hlZEZyYW1lRGF0YS5oCkBAIC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5j
bHVkZSAiT3duSGFuZGxlLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERP
TVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEoRnJhbWUqKTsKICAgICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIz
ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzks
NiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBA
IC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBT
Y3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHRE
ZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaApp
bmRleCBiNzVhMDU0Li5lMDk2OWUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdFByb2ZpbGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5o
CkBAIC0zNiwxMyArMzYsMTMgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0
UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUp
OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUq
IHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApp
bmRleCAxMTgxM2IwLi5kYzI0NzEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdFN0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0z
Myw3ICszMyw2IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2
OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJh
bWU7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsg
cmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0VtcHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2
ODo6TG9jYWw8djg6OlZhbHVlPiBleGNlcHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoK
ICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgpIHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90
ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0
ZWRQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRy
KTsKIHB1YmxpYzoKICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0
ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0
U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShzY3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgs
NyArMTI4LDggQEAgcHJpdmF0ZToKIAogLy8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJp
YWxpemluZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQg
dG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFi
bGUgeworY2xhc3MgV3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwog
cHVibGljOgogICAgIFdyaXRlcigpCiAgICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcg
KzM3OCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTdGF0ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmly
dHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRn
ZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBAQAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAi
QnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBK
U0MgIHsKIAogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhvZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0
aG9kKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0K
ICAgICB2aXJ0dWFsIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVh
bCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVw
LmggYi9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2Fk
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNv
cmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElk
ZW50aWZpZXJSZXBfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNs
dWRlIDxzdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRp
ZmllclJlcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZp
ZXJSZXAqIGdldChpbnQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hh
ciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9q
c2MvQnJpZGdlSlNDLmgKQEAgLTU5LDggKzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5G
aWVsZCgpIHsgfQogfTsKIAotY2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ2xhc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9k
TGlzdCBtZXRob2RzTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgRmllbGQqIGZpZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3Rh
bmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVj
U3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5l
ZCgpOyB9CkBAIC0xMjUsNyArMTI3LDggQEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGlt
ZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXJyYXkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5
KTsKIHB1YmxpYzoKICAgICBBcnJheShQYXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0
dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290Lmgg
Yi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2Jy
aWRnZS9ydW50aW1lX3Jvb3QuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2Vi
Q29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFn
ZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNz
IFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENTU0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZl
VmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7
IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5o
CmluZGV4IDEwZDMwMjYuLjczZjJhY2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9y
dFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcg
QEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVTaGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3Mg
Q1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBDU1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNv
bnN0IFN0cmluZyYgaHJlZiwgUGFzc1JlZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFt
ZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4uMDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
Q1NTTmFtZXNwYWNlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcg
KzI2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFj
ZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFtZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
KyAgICBwdWJsaWM6CiAgICAgICAgIEF0b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21p
Y1N0cmluZyB1cmk7CiAgICAgICAgIE93blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgK
aW5kZXggMWRhMjBiNy4uOTcyZjc3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgaW50IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAg
ICAgaW50IGNzc1ZhbHVlS2V5d29yZElEKGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAg
Y2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
U2hvcnRoYW5kU2NvcGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgU2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9w
SWQpIDogbV9wYXJzZXIocGFyc2VyKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4
IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVl
cy5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBA
IHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRl
Q1NTVmFsdWUoKTsKIH07CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6
IG1fY3VycmVudCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQ
YXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24g
OiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAg
ICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVMaXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmggYi9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEw
NjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysr
IGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIENTU1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgQ1NTUHJvcGVydHkgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQ1NTUHJvcGVydHkoaW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFs
dWUsIGJvb2wgaW1wb3J0YW50ID0gZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1w
bGljaXQgPSBmYWxzZSkKICAgICAgICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRl
eCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNz
IENTU1NlbGVjdG9yQmFnIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9y
QmFnIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6
CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKGlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0
YWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmll
ZE5hbWUuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogCkBAIC0zMyw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBDU1NTZWxlY3RvckJhZzsKIAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBh
IHNlbGVjdG9yIGZvciBhIFN0eWxlUnVsZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENTU1NlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIENTU1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihE
ZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMwMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdW5zaWduZWQgc3BlY2lmaWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0
cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25j
b3B5YWJsZSB7CisgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgIFJhcmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRh
Z0hpc3RvcnkpCiAgICAgICAgICAgICAgICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1f
YigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAppbmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9o
CiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDU1NTZWxlY3Rvckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIENTU1NlbGVjdG9yTGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQog
ICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZm
M2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5j
cHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDks
OCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NT
UnVsZVNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDU1NSdWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0
KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuaCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUx
Li4xM2ZjOTdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysr
IGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNz
IFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlOwogCi1jbGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCBy
ZXN1bHQpCiAgICAgICAgIDogbV9leHByZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1
YmxpYzoKIH07CiAKICAgICAvLyBUaGlzIGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3Ig
YSBnaXZlbiBlbGVtZW50IGJhc2VkIG9uIGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAg
ICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5
bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBDU1NTdHlsZVNlbGVjdG9yKERvY3VtZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0
cywgQ1NTU3R5bGVTaGVldCogbWFwcGVkRWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgIENTU1N0eWxlU2hlZXQqIHBhZ2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8
Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdyb3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBA
QCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxl
Tm90WWV0QXZhaWxhYmxlKCkgeyByZXR1cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0g
ICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWxlY3RvckNoZWNrZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxl
Y3RvckNoZWNrZXIoRG9jdW1lbnQqLCBib29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyAr
MzE4LDggQEAgcHVibGljOgogICAgICAgICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmll
d3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NT
UnVsZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9z
LCBDU1NTdHlsZVJ1bGUqIHIsIENTU1NlbGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0g
MCkKICAgICAgICAgICAgIDogbV9wb3NpdGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVi
bGljOgogICAgICAgICBDU1NSdWxlRGF0YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBD
U1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVE
YXRhTGlzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YUxpc3QodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwp
CiAgICAgICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnkuaAppbmRleCAyODEwMDliLi43ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBN
ZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIGVudW0gUmVzdHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9u
ZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVy
eUV4cDsKICAqIHRoZSBkZXZpY2UgY2hhcmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMg
Y2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhlIGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9u
bHkgdGhvc2Ugd2hpY2ggYXJlIHByb2JhYmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1
ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFs
dWF0b3IgeworICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0
b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZh
bHVhdG9yIHJldHVybnMgdHJ1ZSBmb3IgImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRp
YUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBi
L1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNy
ZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0
KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5j
cHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNT
Y3JpcHRSdW5uZXIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApA
QCAtNTcsNyArNTcsNyBAQCB2b2lkIEFzeW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29v
bihTY3JpcHRFbGVtZW50KiBkYXRhLCBDYWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVt
ZW50LT5pbkRvY3VtZW50KCkpOwogCiAgICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50
RGVsYXlDb3VudCgpOwotICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFp
cihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKKyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVu
ZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYo
KTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYoKXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAg
IGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3Jl
L2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVz
b3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3Vt
ZW50OwogY2xhc3MgU2NyaXB0RWxlbWVudDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBc3luY1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+
IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5l
cihkb2N1bWVudCk7IH0KICAgICB+QXN5bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oIGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5k
ZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFw
LmgKKysrIGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNk
ZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJp
bmdNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01TdHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
ODNiYTg4NS4uODQxYmIyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBE
b2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGwKICAgICAgICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uo
c291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0K
IAotc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJm
b3JtVGFza0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29u
dGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tD
b250ZXh0KFBhc3NSZWZQdHI8RG9jdW1lbnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5j
ZSwgUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAg
ICA6IGRvY3VtZW50UmVmZXJlbmNlKGRvY3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2so
dGFzaykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5o
IGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4u
NTBlYzg4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
LmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDgg
KzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNs
YXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERv
Y3VtZW50TWFya2VyQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2Vy
Q29udHJvbGxlcigpIHsgZGV0YWNoKCk7IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVk
MzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNv
cmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmlu
ZSBFdmVudF9oCiAKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3Rh
bXAuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CkBAIC0zMSw4ICszMiw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNz
IENsaXBib2FyZDsKLQogICAgIGNsYXNzIEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXgg
NDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisr
KyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBcCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAK
LSAgICBjbGFzcyBFdmVudE5hbWVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBF
dmVudE5hbWVzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1h
a2UgaW5pdGlhbGl6YXRpb24gbWFjcm8gd29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2
ZW50IGFjY2lkZW50YWwgY2FsbCB0byBFdmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVz
KCkKICAgICAgICAgRXZlbnROYW1lcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBk
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oCkBAIC04Myw3ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5l
clZlY3RvcjsKICAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVy
VmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1hcDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECisgICAgcHVibGljOgogICAgICAgICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2
ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3Rp
dmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5o
CisrKyBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVy
LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291
bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3Ry
dWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJs
aWM6CiAgICAgZXhwbGljaXQgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIo
RG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1l
bnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFu
bmVsLmgKaW5kZXggZjMwOGEyOS4uMTRkOTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVz
c2FnZVBvcnRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgK
QEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBv
cnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1v
dGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBl
ciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5l
bCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVu
dCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFz
cyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1l
c3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQ
b3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFubmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNz
UmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAKQEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250
YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBwb3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rp
dml0eSgpOwogCi0gICAgICAgIGNsYXNzIEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgICAgIGNsYXNzIEV2ZW50RGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShFdmVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVs
QXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJD
b3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBO
b2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9k
ZUxpc3QqPiBOb2RlTGlzdFNldDsKICAgICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsK
ICAgICAKQEAgLTY3LDcgKzY5LDggQEAgcHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3Mg
Tm9kZVJhcmVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzogICAgCiAgICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3Rh
YkluZGV4KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJD
b3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKaW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmll
ZE5hbWUuaApAQCAtMzIsNyArMzIsOCBAQCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMg
ewogICAgIFN0cmluZ0ltcGwqIG1fbmFtZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFt
ZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUlt
cGwgOiBwdWJsaWMgUmVmQ291bnRlZDxRdWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1Nj
cmlwdEVsZW1lbnQuaAppbmRleCBiNmJlYjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBA
IC0zMiw2ICszMiw3IEBAIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VD
b2RlOwogCiBjbGFzcyBTY3JpcHRFbGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVt
ZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAg
ICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgyYTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQg
ZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xh
c3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAg
ICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAg
IHZpcnR1YWwgflRhc2soKTsKICAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KikgPSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNr
cyBnZXQgbWFya2VkIHNwZWNpYWxseSBzbyB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5k
IGFyZSBleGVjdXRlZCwgd2hlbiB0aGUgY29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNz
YWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2Rv
bS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAgLTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi0gICAgY2xhc3MgU3BhY2VTcGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFNwYWNlU3BsaXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgU3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5n
JiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9sZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0
cmluZyksIG1fc2hvdWxkRm9sZENhc2Uoc2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3Io
ZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNv
cmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5z
Zm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsyMyw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAot
ICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVHJhbnNmb3JtU291cmNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNm
b3JtU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAg
IFRyYW5zZm9ybVNvdXJjZShjb25zdCBQbGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsK
ICAgICAgICAgflRyYW5zZm9ybVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNl
ckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgK
aW5kZXggMTdlYTMxOS4uZGU1N2VmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1
cmVJbmRpY2F0b3IuaAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUg
VXNlckdlc3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdV
c2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
CiB9OwogCi1jbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3Np
bmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmlu
aXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUlu
ZGljYXRvci5oIGIvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRl
eCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNh
dG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0
b3JfaAogI2RlZmluZSBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJh
bWU7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVi
bGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAg
IHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxlbWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXIuaAppbmRleCBlM2QzY2MyLi5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2Vy
LmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBj
bGFzcyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIs
IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVu
dFBhcnNlcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIu
Y3BwIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMy
ODVmLi42ZWRlNzg2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxp
YnhtbDIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAK
QEAgLTc1LDggKzc1LDEwIEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5n
Q2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAgICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBl
bmRpbmdDYWxsYmFja3MoKQogICAgIHsKICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJh
Y2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBi
L1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQx
OTMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysr
IGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBA
CiAjaWZuZGVmIFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBh
cnNlclNjb3BlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxF
KFhTTFQpCiAjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBj
bGFzcyBYTUxEb2N1bWVudFBhcnNlclNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBYTUxEb2N1bWVudFBhcnNlclNjb3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoWE1MRG9jdW1lbnRQYXJzZXJTY29wZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1
bWVudFBhcnNlclNjb3BlKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRl
cik7CiAgICAgICAgIH5YTUxEb2N1bWVudFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0Rl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaAppbmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUv
ZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3Mg
SFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9u
OwogCi1jbGFzcyBEZWxldGVCdXR0b25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysg
Yi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1
OSw4IEBAIGVudW0gRUZyYWdtZW50VHlwZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2Rl
RnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBo
ZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZXBsYWNlbWVudEZyYWdtZW50KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdt
ZW50KERvY3VtZW50KiwgRG9jdW1lbnRGcmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0
aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApp
bmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0
aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVy
LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiVmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDgg
QEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsg
TWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsK
IAotY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTZWxlY3Rpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rp
b25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVt
IEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBl
bnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rpb25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGly
ZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxlZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxw
ZXIuaAppbmRleCA0ZGNlZDA1Li5kZTljNzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcv
VGV4dENoZWNraW5nSGVscGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hl
bHBlci5oCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVj
a2luZ0xlbmd0aDsKIH07CiAKLWNsYXNzIFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRleHRDaGVja2luZ0hlbHBlcik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVs
cGVyKEVkaXRvckNsaWVudCosIFBhc3NSZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5n
SGVscGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVz
cGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVwcyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8g
YmUgYWJsZSB0byBzZWFyY2ggaW4gdGhlIGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJl
YWtpbmcgc3BhY2VzIGFyZSBhbHdheXMgZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2Ug
Zm9sZGluZyBpcyBhbHNvIGRvbmUgaWYgPGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFz
cyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAg
IFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJpbmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUp
OwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxl
VGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1
MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBzdGFydCgpOwogICAgIHZvaWQgc3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxl
U3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0
ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlv
biBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xh
c3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmls
ZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1
YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxl
U3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2Nh
bEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNr
SGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJh
Y2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBB
IGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5
cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxi
YWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2Vy
dmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0Nh
bGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0Jh
Y2tGb3J3YXJkQ29udHJvbGxlci5oCmluZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYg
QmFja0ZvcndhcmRDb250cm9sbGVyX2gKICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tG
b3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFj
a0ZvcndhcmRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3
YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250
cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2Fy
ZENvbnRyb2xsZXIoUGFnZSosIFBhc3NSZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJh
Y2tGb3J3YXJkQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VD
YWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5
Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3Jl
L2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsK
ICAgICBjbGFzcyBQYWdlOwogICAgIAotICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFnZUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUqIHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZhLi5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5o
CkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsK
IAotc3RydWN0IENvbGxlY3Rpb25DYWNoZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxl
Y3Rpb25DYWNoZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBD
b2xsZWN0aW9uQ2FjaGUoKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNh
Y2hlJik7CiAgICAgQ29sbGVjdGlvbkNhY2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNh
Y2hlJiBvdGhlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlz
dC5oIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4u
ZTE1MDczMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgK
KysrIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBw
dWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJsaWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlz
dD4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlz
dC5oCmluZGV4IDVkZjJlZGUuLmUwZGJjYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01U
b2tlbkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsy
NywxNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50Owog
Ci1jbGFzcyBET01Ub2tlbkxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9r
ZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZp
cnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1
dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2VwYXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVjdCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NC
YXNlIHsKK3N0cnVjdCBFdmVudEhhbmRsaW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlv
OwogICAgIGJvb2wgbV9pbmRldGVybWluYXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1M
UGFyc2VyUXVpcmtzLmgKaW5kZXggNTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1
aXJrcy5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJR
dWlya3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAg
SFRNTFBhcnNlclF1aXJrcygpIHsgfQogICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9J
bnB1dFR5cGUuaAppbmRleCBjMTQxN2ZhLi5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICsz
Myw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBl
IG9iamVjdCByZXByZXNlbnRzIHRoZSB0eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0
RWxlbWVudC4KIC8vIERvIG5vdCBleHBvc2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xh
c3NlcyBkZXJpdmVkIGZyb20gaXQgdG8gY2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRF
bGVtZW50LgotY2xhc3MgSW5wdXRUeXBlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
cHV0VHlwZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+
IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVw
UmFuZ2UuaAppbmRleCBjZTA0NGVhLi4xZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
U3RlcFJhbmdlLmgKKysrIGIvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIs
MTMgQEAKICNkZWZpbmUgU3RlcFJhbmdlX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgSFRNTElucHV0RWxlbWVudDsKIAotY2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJh
bmdlKTsKIHB1YmxpYzoKICAgICBib29sIGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9W
YWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdl
X2gKIAogI2luY2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1D
b250cm9sRWxlbWVudDsKIAotY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFZhbGlkYXRpb25NZXNzYWdlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxW
YWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+
VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0
YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4
YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVmFsaWRpdHlTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wp
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0LmggYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApp
bmRleCBhMjVlOGExLi4xNGY1YTBhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5
ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBL
VVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1M
Q2FudmFzRWxlbWVudCopOwogICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBi
L1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5m
YWU5NWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3
ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRN
TFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NT
UHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50
Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNp
dGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4
YjA5YmY1Li5mZjYxODZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25z
dHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9u
U2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgog
I2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBA
IGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsK
IAotY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTENvbnN0cnVjdGlvblNpdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxD
b25zdHJ1Y3Rpb25TaXRlKTsKIHB1YmxpYzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1
bWVudCosIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVu
dCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rpb25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1Ymxp
YzoKICAgICBIVE1MRm9ybUVsZW1lbnQqIGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0
KCk7IH0KICAgICBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAg
IGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0
ZSYgdHJlZSkKICAgICAgICAgICAgIDogbV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2Ny
aXB0Q29udHJvbGxlcjsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1
bWVudFBhcnNlciA6ICBwdWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0
UnVubmVySG9zdCwgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2Vy
PiBjcmVhdGUoSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZk
NDExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAor
KysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcs
NiBAQAogI2RlZmluZSBIVE1MRWxlbWVudFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpA
QCAtMzksMTIgKzM4LDE0IEBAIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBI
VE1MNSBzcGVjIHVzZXMgYSBiYWNrd2FyZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3Jl
IHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJkIChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9n
eSBoZXJlLgotY2xhc3MgSFRNTEVsZW1lbnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIVE1MRWxlbWVudFN0YWNrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxl
bWVudFN0YWNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxl
bWVudFN0YWNrKCk7CiAgICAgfkhUTUxFbGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1l
bnRSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIH5FbGVtZW50UmVjb3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIo
KQogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0Vs
ZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaAppbmRleCBhY2EwNWJiLi5mNzVmYTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGlu
dG8gSFRNTEVsZW1lbnRTdGFjay4KLWNsYXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJs
aWM6CiAgICAgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGlu
Z0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1
dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBh
NzA5YmQ5Li42NDJlNDM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1
dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAg
LTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRl
ciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhl
IG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRoZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBh
cHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAibGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3Ry
ZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1M
SW5wdXRTdHJlYW0oKQogICAgICAgICA6IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjks
OCBAQCBwcml2YXRlOgogICAgIFNlZ21lbnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3Mg
SW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0
aW9uUG9pbnRSZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50
UmVjb3JkKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1M
SW5wdXRTdHJlYW0mIGlucHV0U3RyZWFtKQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0
U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1
bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1
YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJz
ZXJTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVs
ZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBACiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUg
PHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRN
TERvY3VtZW50UGFyc2VyOwogCi1jbGFzcyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MUGFyc2VyU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVh
dGUoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmgKaW5kZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVk
ZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIKICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRl
ICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNs
YXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQ
cmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNj
YW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERv
Y3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1
bm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNm
NzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0
UnVubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAg
LTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3Rm
L0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxT
Y3JpcHRSdW5uZXJIb3N0OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNj
cmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0
UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCog
aG9zdCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5o
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBI
VE1MVG9rZW5faAogCiAjaW5jbHVkZSAiTmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSFRNTFRva2VuKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBl
bnVtIFR5cGUgewogICAgICAgICBVbmluaXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHBy
aXZhdGU6CiAgICAgLy8gd2FudCB0byBlbmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJl
dHdlZW4gdGhlIHR3byBjbGFzc2VzLgogICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47
CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgRG9jdHlwZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0
YSk7CiAgICAgcHVibGljOgogICAgICAgICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1f
aGFzUHVibGljSWRlbnRpZmllcihmYWxzZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgog
CiAvLyBGSVhNRTogVGhpcyBjbGFzcyBzaG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9r
ZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8gZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwg
dG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1jbGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXRvbWljSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBdG9taWNIVE1MVG9rZW4pOwogcHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1M
VG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuaXplci5oCmluZGV4IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuaXplci5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6
ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4
IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xh
c3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5p
emVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0
YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRw
Oi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNz
aW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAgICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3Ig
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7
CiAgICAgcHVibGljOgogICAgICAgICBJbnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5p
emVyKiB0b2tlbml6ZXIpCiAgICAgICAgICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysr
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQw
LDggQEAgSFRNTEZvcm1FbGVtZW50KiBjbG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1l
bnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxD
aGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJl
ZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4
cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tl
bikKICAgICAgICAgOiBtX2N1cnJlbnQodG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIz
MzQsNyArMjMzNSw4IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRv
bWljSFRNTFRva2VuJiB0b2tlbikKICAgICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xh
c3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGYWtlSW5zZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUlu
c2VydGlvbk1vZGUoSFRNTFRyZWVCdWlsZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBt
b2RlKQogICAgICAgICA6IG1fdHJlZUJ1aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRleCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1M
Rm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhU
TUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxU
cmVlQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWls
ZGVyPiBjcmVhdGUoSFRNTFRva2VuaXplciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3Vt
ZW50LCBib29sIHJlcG9ydEVycm9ycywgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAg
ICB7CkBAIC0yMDMsNyArMjAzLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWdu
Q29udGVudFVzaW5nSW5Cb2R5TW9kZUFuZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2Vu
KTsKICAgICB2b2lkIHJlc2V0Rm9yZWlnbkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZy
YWdtZW50UGFyc2luZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZy
YWdtZW50UGFyc2luZ0NvbnRleHQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFn
bWVudFBhcnNpbmdDb250ZXh0KTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2lu
Z0NvbnRleHQoKTsKICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdt
ZW50KiwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lv
bik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVu
dGVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5k
ZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0
aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xl
dmVsSW5jcmVtZW50ZXIuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGlu
Z0xldmVsSW5jcmVtZW50ZXIodW5zaWduZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25l
c3RpbmdMZXZlbCgmbmVzdGluZ0xldmVsKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29uc29sZU1lc3NhZ2UuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5k
ZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZU1lc3NhZ2UuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00
Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlwdENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFj
azsKIGNsYXNzIFNjcmlwdFZhbHVlOwogCi1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDb25zb2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5zaWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWdu
ZWQgZyk7CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4s
IFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHQuaAppbmRleCBmODBjZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhv
c3QuaCIKICNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZG
TElORV9XRUJfQVBQTElDQVRJT05TKQogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3Qu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3Bl
Y3Rvck9iamVjdDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9y
RnJvbnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlk
OS4uZjljMTA0MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAt
MTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBX
ZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0
cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAg
IHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+
ID4gRE9NU3RvcmFnZVJlc291cmNlc01hcDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRl
YnVnZ2VyQWdlbnQuaAppbmRleCA5NTAxYWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdn
ZXJFdmVudFR5cGUgewogICAgIE5hdGl2ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsK
IAotY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6
IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5z
cGVjdG9yQ29udHJvbGxlciosIEluc3BlY3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5z
cGVjdG9yRGVidWdnZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oCmluZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcg
KzMzLDYgQEAKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xs
ZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0
b3JDb250cm9sbGVyKiwgUGFnZSopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApp
bmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JP
YmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFwU25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwog
Ci1jbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElu
c3BlY3RvclByb2ZpbGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNw
ZWN0b3JDb250cm9sbGVyKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUw
MjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVk
dWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxpbmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVs
aW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4u
MTMxZTEzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwx
NCBAQAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZy
YW1lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1j
bGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0
Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwog
cHVibGljOgogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVy
ZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQuLjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRl
ci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVz
b3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZs
aWdodFJlc3VsdENhY2hlSXRlbSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3Nz
T3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVt
KGJvb2wgY3JlZGVudGlhbHMpCiAgICAgICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDAp
CkBAIC02Myw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1Nl
dCBtX2hlYWRlcnM7CiAgICAgfTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBz
aGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRl
eCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuaApAQCAtNDcsNiArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlckNsaWVudDsKIAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1Ymxp
YyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRXcml0ZXIuaAppbmRleCA1ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEb2N1bWVudFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRX
cml0ZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmggYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNh
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5k
aWYKIH07CiAKLWNsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2Fk
ZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xp
ZW50IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlG
cmFtZUxvYWRlckNsaWVudCgpIHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0
cm95ZWQoKSB7IH0KIApAQCAtMzgzLDggKzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0
KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9Owog
Ci1jbGFzcyBFbXB0eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBh
Z2VEZXN0cm95ZWQoKSB7IH0KIApAQCAtNDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAj
aWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDog
cHVibGljIENvbnRleHRNZW51Q2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRW1wdHlDb250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CisgICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAg
IHZpcnR1YWwgfkVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lk
IGNvbnRleHRNZW51RGVzdHJveWVkKCkgeyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGlj
OgogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkge30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1E
cmFnRGVzdGluYXRpb25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsg
fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJj
ZUFjdGlvbiwgY29uc3QgSW50UG9pbnQmLCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAs
MTAgQEAgcHVibGljOgogfTsKICNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFz
cyBFbXB0eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0
b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNs
aWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Np
b24uaAppbmRleCBkNzI0ODM1Li43ZjU4ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9G
b3JtU3VibWlzc2lvbi5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAg
LTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9ybVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxG
b3JtU3VibWlzc2lvbj4gewogcHVibGljOgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQ
b3N0TWV0aG9kIH07CiAKLSAgICBjbGFzcyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QXR0cmlidXRlcyk7CiAgICAgcHVibGljOgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAg
ICAgIDogbV9tZXRob2QoR2V0TWV0aG9kKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4u
NmE3NjNkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5k
b3dGZWF0dXJlczsKIAogYm9vbCBpc0JhY2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7
CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1l
TG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6
CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUqLCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFt
ZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1h
Y2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXgg
YzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJT
dGF0ZU1hY2hpbmUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGlu
ZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVf
aAogI2RlZmluZSBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBz
dGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxvYWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50
IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdoaWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJl
bnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVyIGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVy
U3RhdGVNYWNoaW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3Rh
dGVNYWNoaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFj
aGluZSk7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVy
L0hpc3RvcnlDb250cm9sbGVyLmgKaW5kZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9I
aXN0b3J5Q29udHJvbGxlci5oCkBAIC0zMiw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxv
YWRlclR5cGVzLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsK
IGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEhpc3RvcnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVt
IEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBkYXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2Fy
ZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
VmFsdWVDaGVjazxXZWJDb3JlOjpJbWFnZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBJbWFnZUV2ZW50U2VuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEltYWdlRXZlbnRTZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRT
ZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRT
ZW5kZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuY3BwCmluZGV4IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTY2hlZHVsZWROYXZpZ2F0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBTY2hlZHVsZWROYXZpZ2F0aW9uKGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwg
Ym9vbCBsb2NrQmFja0ZvcndhcmRMaXN0LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2Nh
dGlvbkNoYW5nZSkKICAgICAgICAgOiBtX2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlv
blNjaGVkdWxlci5oCmluZGV4IDE0MDBjMjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJh
bWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmln
YXRpb25TY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNj
aGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7
CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlvblNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0
aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgg
Yi9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1BpbmdMb2FkZXIuaApAQCAtMzQsNyArMzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5k
bGVDbGllbnQuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTAsNyArNDksOCBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxv
YWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5
IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFzIHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBm
cm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwgdGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBs
b2FkIGFuZCBkZWxldGUgaXRzZWxmLgotY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDog
cHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGluZ0xvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgbG9hZEltYWdlKEZyYW1lKiwgY29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9p
ZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3Rp
bmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvUG9saWN5Q2hlY2tlci5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25B
Y3Rpb247CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAot
Y2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lD
aGVja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1Ymxp
YzoKICAgICBQb2xpY3lDaGVja2VyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIu
Y3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1By
b2dyZXNzVHJhY2tlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNw
cApAQCAtNTAsNyArNTAsOSBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1
ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGlu
dCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1
Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29weWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKK3B1YmxpYzoKICAgICBQcm9ncmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAg
ICAgIDogYnl0ZXNSZWNlaXZlZCgwKQogICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVz
c1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM2LDcgKzM1LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
Owogc3RydWN0IFByb2dyZXNzSXRlbTsKIAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUHJvZ3Jlc3NUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBQcm9ncmVzc1RyYWNrZXIoKTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0
LmgKaW5kZXggYjZkZTMxMi4uOTZmN2IxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVx
dWVzdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3Mg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBSZXF1ZXN0KENhY2hlZFJlc291cmNlTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGlu
Y3JlbWVudGFsLCBTZWN1cml0eUNoZWNrUG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxs
YmFja3MpOwogICAgICAgICB+UmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkTm90aWZpZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlm
aWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcwNDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRO
b3RpZmllci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVy
X2gKICNkZWZpbmUgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFz
cyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJj
ZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZXNvdXJjZUxvYWROb3RpZmllcik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90
aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRl
eCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIu
aApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQyLDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xh
c3MgU3VicmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAot
Y2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlc291cmNlTG9hZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRl
OgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVx
dWVzdFRpbWVyRmlyZWQoVGltZXI8UmVzb3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xh
c3MgSG9zdEluZm9ybWF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0
SW5mb3JtYXRpb24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRp
b24pOwogICAgIHB1YmxpYzoKICAgICAgICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYs
IHVuc2lnbmVkKTsKICAgICAgICAgfkhvc3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9h
ZGVyLmgKaW5kZXggYTU3MzA0NS4uZDExZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
U3ViZnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBA
IC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRo
aXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIuIEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dp
YyBvZiBsb2FkaW5nIGJvdGggc3ViZnJhbWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVM
b2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFN1YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJm
cmFtZUxvYWRlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQx
YTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEs
NiBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRl
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRp
b25zIGZyb20gYW55IHRocmVhZCAobm90IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0
byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFk
YWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2Fk
ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hy
b25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3
NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZU
aHJlYWRhYmxlTG9hZGVyKCk7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJs
ZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudC5oCmluZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRl
ZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
OwogCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2ln
bmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5
dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0
aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAg
ICAgVGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3
ICszMiw2IEBACiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2lu
Y2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRp
bmcuaD4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEy
ZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVM
b2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAg
LTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJl
YWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2Vy
Q29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQm
LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2Vy
Q29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRh
c2tNb2RlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJiBvcHRpb25zKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaAppbmRleCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUs
NiBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVk
QnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAg
ZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hl
VXBkYXRlV2l0aG91dEJyb3dzaW5nQ29udGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFz
cyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBBcHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYg
bWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25D
YWNoZUdyb3VwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUhvc3QuaAppbmRleCA4YWM1MzU3Li42NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAK
LSAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcHBsaWNhdGlvbkNhY2hlSG9zdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZp
ZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0
ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBj
bGFzcyBTdG9yYWdlSURKb3VybmFsOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51
bSBGYWlsdXJlUmVhc29uIHsKICAgICAgICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9X
ZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5
ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24uaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3Mg
UmVxdWVzdDsKIC8vIEEgcmVzb3VyY2UgdGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3Nl
cyB3aG8gd2FudCB0byB1c2UgdGhpcyBvYmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNo
ZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSBy
ZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZlZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBh
Y3R1YWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJj
ZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xhc3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQ2FjaGVkUmVzb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENhY2hlZFJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xh
c3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJpZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAg
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQu
aCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1
ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNs
aWVudC5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gK
ICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VDbGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxv
Y0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZy
b20gdGhpcyBjbGFzcyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAq
CiAgICAgICovCi0gICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZQotICAgIHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5D
YWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuaAppbmRleCBmMzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3Mg
SW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJMOwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIg
bWFuYWdlcyB0aGUgbG9hZGluZyBvZiBzY3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBz
aW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2Fk
ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFz
cyBLVVJMOwogLy8gaXRzIG1lbWJlciB2YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1
cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1vcnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBt
b3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRoaXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lbW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShNZW1vcnlDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
ZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNoZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25EYXRhYmFzZS5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2Uu
aAppbmRleCA2MTQ2YWE2Li5hYzBhNTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
SGFzaC5oPgogCkBAIC02Miw4ICs2MSw4IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAg
SWNvbkxvYWRVbmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgewotCitjbGFzcyBJY29uRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEljb25EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJl
YWQgT25seSAqKioKIHB1YmxpYzoKICAgICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGll
bnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50
LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBk
N2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNl
Q2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApA
QCAtMzAsMTUgKzMwLDE2IEBACiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBB
bGwgb2YgdGhlc2UgY2xpZW50IG1ldGhvZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWlu
IHRocmVhZAogLy8gVGFrZSBhcHByb3ByaWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29u
RGF0YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIElj
b25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgp
IHsgfQogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2lj
b24vSWNvbkxvYWRlci5oCmluZGV4IDFlYmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNv
bkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBT
dWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxv
YWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDgg
QEAgcHVibGljOgogICAgIFN0cmluZyBpY29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29y
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQYWdlVVJMUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAg
flBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKaW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
QEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0Owog
Ci0gICAgY2xhc3MgTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291
cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGlj
OgorICAgICAgICBMb2FkZXIoKSB7IH0KICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZv
aWQgbG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNy
ZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJv
b2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMg
UmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0
aW9uQ2VudGVyPiBwcm92aWRlcik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNh
dGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8
Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9s
bGVyLmgKaW5kZXggODMzYjkwOS4uYjU4NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJf
aAogI2RlZmluZSBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNs
YXNzIENvbnRleHRNZW51Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgQ29udGV4dE1lbnVDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q29udGV4dE1lbnVDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIENvbnRleHRNZW51Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGll
bnQqKTsKICAgICAgICAgfkNvbnRleHRNZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIu
aAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0Nv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyAr
NDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3Mg
U2VsZWN0aW9uQ29udHJvbGxlcjsKICAgICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEcmFnQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVu
dCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5
YTBjLi45NDBjMjVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysr
IGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBj
b25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJz
IHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1j
bGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5k
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgog
ICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3
ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsK
IAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAg
c3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAg
cHVibGljOgorICAgICAgICBFdmVudEhhbmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVm
UHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8gZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNl
LCBmb3IgdGhlIGN1cnJlbnQgbW91c2UgZ2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lz
TGluazsKICAgICAgICAgYm9vbCBtX2RyYWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmggYi9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBm
ZmVkNTkyLi41YmVlYjJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAor
KysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2
ZW50U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRU
YXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
dXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2
aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29u
dHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMu
LjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNs
dWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5
LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1j
bGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXND
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdl
Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFn
ZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3
ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAg
Y2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRy
ZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFt
ZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5k
ZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAg
ZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xv
YWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0
aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1
bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKK3B1YmxpYzoKKyAgICBTY2hlZHVsZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4g
bV9ldmVudDsKICAgICBSZWZQdHI8Tm9kZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2Vv
bG9jYXRpb25Db250cm9sbGVyLmgKaW5kZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9H
ZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2Vv
bG9jYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9j
YXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6
CiAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwog
ICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9H
cm91cFNldHRpbmdzLmggYi9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2
YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysr
IGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBhZ2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHcm91cFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAg
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5o
CmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgK
KysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZp
ZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZP
Uk0oTUFDKQogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rp
b25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVk
dWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JBbGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVw
IHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92
aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29w
eWFibGUgeworICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVudHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAg
ICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBh
Z2VDbGllbnRzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dl
YkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5o
CkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtI
YXNoLmgiCiAjaW5jbHVkZSAiVXNlclNjcmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0
LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdl
OwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBQYWdlR3JvdXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAg
UGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBk
NDQzZWJkLi5mNzk1NmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERl
ZmVycmVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0y
OCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBj
bGFzcyBQYWdlOwogCi0gICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgUGFnZUdyb3VwTG9hZERlZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAg
ICAgICAgIH5QYWdlR3JvdXBMb2FkRGVmZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhi
MzFlLi41YjcwNzIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysr
IGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFsdGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBsdWdpbkhhbHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgUGx1Z2luSGFsdGVyKFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmlu
ZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAog
ICAgIH07CiAKLSAgICBjbGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgU2V0dGluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQ
YWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29y
ZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcg
KzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVj
dHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxh
dGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVz
IG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJl
Y29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0
byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5v
bmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1
dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGll
bnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQz
OS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgVXNlclNjcmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyU2NyaXB0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZl
Y3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxh
Y2tsaXN0LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJD
b3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNl
clN0eWxlU2hlZXQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFVzZXJTdHlsZVNoZWV0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJT
dHlsZVNoZWV0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3Qg
U3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNz
T3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJp
bmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBi
L1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVk
aXRvci5oCkBAIC02OSw3ICs2OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhU
TUxEb2N1bWVudFBhcnNlcjo6c2hvdWxkTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQg
dG8gbG9hZCBleHRlcm5hbCBKYXZhU2NyaXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxv
YWRlcjo6cmVxdWVzdE9iamVjdCAtIHVzZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1l
bnRzLgogICAgIC8vCi0gICAgY2xhc3MgWFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgWFNTQXVkaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhT
U0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
WFNTQXVkaXRvcihGcmFtZSopOwogICAgICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAg
Y2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3Bl
cnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHko
aW50IHByb3BlcnR5SUQpOwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFByb3BlcnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByb3BlcnR5V3JhcHBlckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFByb3BlcnR5V3JhcHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9w
cm9wKHByb3ApCkBAIC00MzgsNyArNDM5LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMg
RmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0
eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0
eVdyYXBwZXJHZXR0ZXIpOwogcHVibGljOgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdl
dHRlcihUIChGaWxsTGF5ZXI6OipnZXR0ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIo
Z2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5
LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxl
OwogCi1jbGFzcyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAg
ICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9Db21wb3NpdGVBbmltYXRpb24uaAppbmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJJbXBsaWNpdEFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0
aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0g
Yi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThi
Y2IyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysg
Yi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBO
U0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVu
dE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRF
dmVudFNjb3BlKE5TRXZlbnQgKik7CiAgICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRleCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
QXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVt
Q2FsbGJhY2tzOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNz
IHByb3ZpZGVzIGFzeW5jIGludGVyZmFjZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0
ZW0gaW1wbGVtZW50YXRpb24uICBOb3RlIHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZv
cm0gcGF0aHMuCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0Zp
bGVTeXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBh
NjY5Li43ZDg2MmRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3Rl
bUNhbGxiYWNrcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJh
Y2tzLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtOwogY2xhc3MgQXN5
bmNGaWxlV3JpdGVyOwogc3RydWN0IEZpbGVNZXRhZGF0YTsKIAotY2xhc3MgQXN5bmNGaWxlU3lz
dGVtQ2FsbGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3Rl
bUNhbGxiYWNrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtQ2Fs
bGJhY2tzKTsKIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgd2hlbiBhIHJlcXVlc3RlZCBvcGVyYXRp
b24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAgICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2Vl
ZCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCmluZGV4IGQ0NGVlMWUuLmQ2NTU0
MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApAQCAtMjksNyArMjksNiBAQAogI2lm
bmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRvZHJhaW5lZFBvb2xfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TQXV0
b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRvZHJhaW5lZFBvb2wgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29sIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgogICAgIEF1dG9kcmFpbmVkUG9vbChp
bnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2RyYWluZWRQb29sKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmggYi9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0TWVudV9oCiAjZGVmaW5lIENvbnRl
eHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ29u
dGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgpAQCAtNDUsOCArNDQs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnRFZmw7
CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDogcHVibGljIE5vbmNvcHlhYmxlCi0g
ICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAg
ICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogICAgICAgICBDb250ZXh0
TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxhdGZvcm1NZW51RGVzY3JpcHRpb24p
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaCBiL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXggZTcwMjkyMS4uMTEyNjU0YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIsNyArMjUyLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9u
OwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0ZW0gOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51SXRlbShQbGF0Zm9y
bU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250ZXh0TWVudUl0ZW0oQ29udGV4dE1l
bnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAppbmRleCA0
N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQ
dHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCkBAIC0y
NywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0ckxpc3RfaAogCiAjaW5jbHVkZSAi
RGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVj
YXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0
ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewordGVtcGxhdGUgPGNsYXNzIFQ+IGNs
YXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxfaXRl
bShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRlbF9p
dGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdElt
cGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmluZGV4
IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0
SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5jbHVk
ZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVjYXRl
ZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlzdE5v
ZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZExpc3ROb2RlKHZvaWQg
KmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKaW5k
ZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExv
b3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCkBAIC0yNiwxMSArMjYsMTEg
QEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZlbnRMb29wX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBF
dmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TG9vcCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9vcCk7CiAgICAgcHVibGljOgogICAg
ICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2NS4uZjYyN2M2OCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEdl
b2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0aW9uU2VydmljZV9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3
ICs0MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJy
b3JPY2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2Nh
dGlvblNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2
aWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVi
bGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNl
cnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93
LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9z
dFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRn
ZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhv
c3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3co
KSB7IH0KIAogICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywg
bm90IHRoZSBjb250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3Vz
bHksIG90aGVyd2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJp
bmcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9LaWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25z
dCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLmM0MjlhNjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGgu
aApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQs
OSBAQCBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWlu
IHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRp
dmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAK
LXN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBt
X3ZhbHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li40OTZmYmIz
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KQEAgLTgxLDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJj
aGl2ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJv
YXJkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMp
CiAgICAgLy9IZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2Rl
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li42
YTM2MzE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVu
dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKQEAgLTc1
LDcgKzc1LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBl
IHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBN
YWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNp
Y2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxl
QnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1
ZmZlci5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAog
I2luY2x1ZGUgIlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIq
IGRhdGEsIHNpemVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9S
dW5Mb29wVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVm
MjUzZS4uZjhjNTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYg
QEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNl
Y29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9v
cFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZp
cnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2No
ZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1l
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uYjNk
ODg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xh
c3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmll
dzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2Nyb2xsYmFyVGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1l
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgp
IHsgfQogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJv
b2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypk
YW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL1NoYXJlZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXgg
NWI1Y2QxNC4uMTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1l
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2
IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8v
IEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIs
IHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBp
cyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRl
ZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAg
Y2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJl
ZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU2hhcmVkVGltZXIoKSB7
IH0KICAgICAgICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAgICAgICB2aXJ0dWFsIHZv
aWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBFTkFCTEUoV09SS0VSUykK
QEAgLTQ1LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBURUNDb252
ZXJ0ZXJXcmFwcGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNsYXNzIFRocmVh
ZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZEdsb2Jh
bERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9iYWxEYXRhKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAgICAgflRocmVh
ZEdsb2JhbERhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJz
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFiNDI1OTguLjM1ZWQw
MWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBU
aHJlYWRUaW1lcnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFRpbWVyQmFzZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4g
S2VwdCBpbiBUaHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNk
YS4uMDgxMDQwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9o
CiAjZGVmaW5lIFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNs
YXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNo
YXJlZC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMx
LDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAg
OiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9B
bmltYXRpb25MaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmgKaW5kZXggOWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9h
bmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9u
L0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBB
bmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IEFuaW1hdGlvbkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxp
c3QmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4YjgxLi4zOThlMTI3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEF1
ZGlvQnVzX2gKIAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuIEF1
ZGlvQnVzIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBtb3JlIEF1ZGlvQ2hhbm5l
bHMuCiAvLyBUaGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bwb3NlZCB0byAiaW50ZXJs
ZWF2ZWQiLgogLy8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBpcyBtb25vLCBhbiBBdWRp
b0J1cyB3aXRoIHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNsYXNzIEF1ZGlvQnVzICA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIENoYW5u
ZWxMZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDY4MTY4
MzAuLjczMjVlOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAs
MTQgKzMwLDE0IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0Fy
cmF5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVw
cmVzZW50cyBhIGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8g
c2FtcGxlcy4KIC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBp
biBhIG5vbWluYWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBdWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0
ZXJuYWxseSByZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBh
biBBdWRpb0Zsb2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkRhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmlu
ZGV4IGMzM2IzOGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2Uu
aApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZhdGlvbi5oIgogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEhSVEZLZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZE
YXRhYmFzZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNlPiBj
cmVhdGUoZG91YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0hSVEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZh
dGlvbi5oCmluZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkVsZXZhdGlvbi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhSVEZFbGV2YXRpb25faAog
CiAjaW5jbHVkZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogLy8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxz
IChvbmUgbGVmdCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBh
IHBhcnRpY3VsYXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhSVEZFbGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFu
IEhSVEZFbGV2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUg
YW5kIGVsZXZhdGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNl
cy4KICAgICAvLyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0
YWJhc2Ugc2V0LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRp
cGxlIG9uZXMgd2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9u
Y29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUo
MCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29s
b3IuaAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0j
aW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
I2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxp
bmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAm
IDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBj
b2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyBy
ZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAg
ICAgQ29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVj
Li4wNzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRT
aGFkb3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5j
cHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1
c2luZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2Fj
aGUoKQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9j
QmFzZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleShjb25z
dCBBdG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1bnNpZ25lZCBzaXplID0g
MCwgdW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxzZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFsc2UsIEZvbnRSZW5kZXJp
bmdNb2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2RlLCBGb250T3JpZW50YXRp
b24gb3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1fc2l6ZShzaXplKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4NDVkOS4uNGZhNzQxNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNz
IEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnRE
YXRhOwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9u
dENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgp
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uMGViNjY4
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBA
CiAjZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBG
b250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgw
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4
NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlw
aE1ldHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmlj
c01hcC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAK
IGNvbnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxj
bGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdseXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2Zp
bGxlZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDZhZGM5MGIuLmJh
Nzg5YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgi
CiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE1
Myw3ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25I
aWdoCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCop
OwogICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0zNTYsNyArMzU2LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3Mo
Ym9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0Owog
Ci0gICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
ICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dz
Qml0bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGMyZDVj
MjQuLjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25mbGlj
dGlvbiBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoV0lORE9X
UykpIHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZh
dGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5o
CmluZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04NCw3ICs4NCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQ
cml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQ
cml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJp
dmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBHcmFw
aGljc0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50
cyhmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXgg
OTkxY2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2Ug
Y2xhc3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBI
ZXJlIHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVk
IHZpYSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxh
dGVkIGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBB
bmltYXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUs
IFBhc3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAg
OiBtX2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBAQCBwcml2YXRlOgogCiAvLyBV
c2VkIHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVl
cyB3aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVk
IGZyb20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVM
aXN0KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9u
IGFsbG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZm
ZXI+IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBD
b2xvclNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5o
CmluZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
U291cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYsOCBA
QCBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0aW9u
TG9vcEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAotY2xh
c3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3VyY2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAgICBJ
bWFnZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdhbW1h
QW5kQ29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBlODdjNTNjLi4zMTY1NDc4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0
Nyw5IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRp
YVBsYXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1
Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVy
RmFjdG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3Rvcnko
Q3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVk
VHlwZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRz
VHlwZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAg
ICAgICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uNzFjOTlkOSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0
Niw3ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVy
Q2xpZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
clByaXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBN
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShN
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZpcnR1YWwg
fk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxv
YWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXgg
YmEyNWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Q
YXRoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4LDcgKzI4
LDYgQEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExBVEZPUk0o
Q0cpCkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVm
IHZvaWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVu
dCopOwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBQYXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi44ZTNhMDQxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICsz
Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNz
IFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50
Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMx
ZjguLjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVk
ZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0
eXBlZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fp
cm9fZm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVy
OwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250
Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2Fu
dmFzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgK
aW5kZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRl
eHR1cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4
dDNEOwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hh
cmVkR3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwog
ICAgIH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggNTMxZDY1Mi4uM2M3
MWFjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAi
U2tCaXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggMWYzMzUyNy4uNTI2YTg3
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJT
dXJmYWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNpbmNsdWRlICJG
bG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRp
b25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllckNocm9t
aXVtOwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVy
Q2hyb21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExh
eWVyQ2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApA
QCAtMzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVk
ZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0
Zi9Pd25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRy
YW5zcGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21w
b3NpdGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5h
YmlsaXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0
ZXh0LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVu
Y3lXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVu
dW0gTGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJh
d2luZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLjBmNGM5NTkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1
LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsNyAr
NzYsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNs
YXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFdpbGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxs
UHVibGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJs
aXNoQ2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdiOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3Np
Zmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNz
aWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJf
aAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8v
IENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29w
Qmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNs
YXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIp
OwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBD
dXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9v
cEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlh
bmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5M
b2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9hdFBv
aW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3dGYv
QXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2YgdGhl
IHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBwb2lu
dCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJsaW5u
TG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5u
TG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkxv
Y2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0aGUg
dHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRoZSBw
b3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8g
Y29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4
IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRz
LmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhiYWVm
Li41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RB
cmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAg
LTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBw
cml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGlu
ZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2Nr
IG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8g
QWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9E
SW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZh
bFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1
ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDgg
QEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcgbikp
IGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0aGUg
dHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQ
T0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsK
K2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2
YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVydmFs
VHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVj
bGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4IDZk
NTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVuYS5o
IgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlICJM
b2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNl
IE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQog
ICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3
aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4g
TmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5v
ZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIEhl
bHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNv
dW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6
IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIg
OiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIp
OwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQo
MCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUu
LmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRl
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3
ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsK
IGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNE
KiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwxNCBA
QAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9h
dFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRp
bGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBp
bnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAg
ICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRX
ZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNs
dWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtp
bmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlh
YmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50
IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50
KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUg
IkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3Mg
Rm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3Qg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CmluZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAK
ICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9u
L0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBV
SW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAot
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNG
b250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250LCBDR0ZvbnRSZWYg
Y2dGb250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9hdHNGb250KGF0c0Zv
bnQpLCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44NDg5OTNiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBA
IC0yNSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3Qg
UGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVu
Vkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2
Li5lZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9T
dXJmYWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3Vy
ZmFjZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3Vs
ZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxl
bWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7
CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRl
eCA2YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5j
bHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBT
aGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFi
bGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAor
cHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFk
ZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uOWM2NjJh
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1E
YXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRh
LmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250
UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3Jt
RGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnRQ
bGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMs
MTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZv
bnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZv
cm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5
TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5k
ZXggMTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBzdGF0aWMgaW5s
aW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4g
UXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEdyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNv
bGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2
YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9U
cmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
VHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6
CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZy
ZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFw
KHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4xNDNlZTc5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJG
b250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCkBAIC00OSw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZv
bnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwog
I2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJl
ZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShm
b250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVlMTJhZDYu
LjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFw
aGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0ICszMSwx
NCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2RlZmluZSBH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lh
IGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShQ
bGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0
KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgzYWFmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tp
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRT
a2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0U2tpYV9oCiAK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgog
CiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJhd0xvb3Blci5o
IgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUgZm9yIG1h
bmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0ZQogLy8g
U2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRoYXQgYWxs
b3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQgYWxvbmcg
d2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3IgcHJpbnRp
bmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5VTEwuIElm
IHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2FsbCBzZXRD
YW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uMTBmYjA0NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zv
cm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4Lmgi
CiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3Mv
Q0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDggQEAgY2xhc3MgSW50UG9pbnQ7CiBj
bGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNzIEFmZmlu
ZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRyYW5zZm9y
bSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRv
dWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEzNzcuLjA4
ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRl
bnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2YjRiYWEu
LjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jt
cy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5j
bHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8c3Ry
aW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNp
ZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0u
aD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxvYXRSZWN0
OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1hdHJpeDRb
NF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4xNjI4ZWViIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVm
OwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0
Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGlj
OgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0
IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkK
ICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXggM2FiNTJi
OC4uNTE1NGVhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAog
I2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDxjYWlyby5oPgogCkBAIC0z
Myw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7
CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDog
Tm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9u
dEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAuLjU5NTFlNDkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0
LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2Nh
bFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93
c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQp
OwogcHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFw
aGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQg
PSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGlj
c0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9R
VE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPFFUTUwu
aD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVuaW9uIFVw
cFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAw
Owogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVBy
aXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7Citj
bGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQ
cml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYxMmQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCkBA
IC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1
ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9R
VFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCmlu
ZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FU
VHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNs
YXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQ
cml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJs
aWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5o
CmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC0zNiw3ICszNSw4IEBAIHN0
cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdLQ0FD
RkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkNvbnRl
eHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0Rmx1c2hl
cik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJS
ZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5k
ZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBAQCBwdWJsaWM6CiAvLyBGSVhNRTog
Q3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJWaWV3
IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVjdDNE
RGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5ZXJSZW5k
ZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3ICsyNCw2
IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmlu
Z01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29u
c3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25z
dCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURh
dGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5o
CmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVk
ZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RFWFRNRVRS
SUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1OTYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0
V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3ND
b250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAgc3RhdGljIHZvaWQgcm90YXRlQml0
bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0bWFwKiBzb3VyY2VCbXAs
IGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAsIHNvdXJj
ZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIDogTm9uY29w
eWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRyYW5zcGFyZW50TGF5ZXJE
QyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIEludFJlY3QmIG9yaWdSZWN0
LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwgaW50IGFscGhhID0gMjU1
LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFyZW50TGF5ZXJEQygpOwpA
QCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRDOjpmaWxsQWxwaGFDaGFu
bmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVE
Q1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURDUHJvdmlkZXIoR3JhcGhp
Y3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6IG1fZGF0YShkYXRhKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0
LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRl
cmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZv
cm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9
CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA1YTA0YmVlLi4xZDdiOWY4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAg
LTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4TnVtUGl4
ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFnZXMgY2Fu
CiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGltYWdlcyB0
aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1cHBvcnRl
ZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2RlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihib29sIHByZW11bHRpcGx5QWxwaGEs
IGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAgICAgICAgICAgICA6IG1fc2NhbGVk
KGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNmLi44OWY4
MzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAtNDQsNiArNDQsNyBAQCBj
bGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlwYm9hcmRNYWMgOiBwdWJs
aWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJk
TWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBh
c3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29u
dGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2IEBACiAg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250ZXh0OwpA
QCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNs
YXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhp
Y3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFu
ZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVu
dEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJl
bnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVu
dEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250
ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFy
ZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCmlu
ZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1No
YXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFj
Lm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4KICNpbXBv
cnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4K
LSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0
YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0
YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRh
SXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QmxvYkRhdGE+
IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgK
aW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3Jt
RGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBU
ZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
cm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRFbmNvZGluZyBlbmNvZGlu
Z0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hhcnNldCwgRG9jdW1lbnQq
IGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRl
Tm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lm
bmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVy
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQog
CkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAgICAgdm9p
ZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5Y2Nj
ZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9u
OwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50Owog
Ci0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNvdXJjZUhh
bmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFu
ZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZm
KQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0ZS4uMmI3NDE3MyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC00OSw3ICs0
OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJj
ZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5cGUgZGlyZWN0bHkuICBV
c2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFz
ZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNl
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAg
IC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJl
c291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNSw3
ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGluZSBib29sIG9wZXJhdG9y
PT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsg
cmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUg
Ym9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291
cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFC
YXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uY2I4YTUxZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcg
KzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291
cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVz
ZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VC
YXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZhdGU6CiBp
bmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjb21wYXJl
KGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi1z
dHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKTsKK3B1
YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsgfQogICAg
IEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25nIG1fZXhw
ZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5Nzg2Ny4uMTgxNThmYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBSRUFE
X0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVi
bGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGlj
OgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VS
ZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFu
ZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVX
aW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4IEBAIHN0
YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09S
RCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVi
bGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGlj
OgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VS
ZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsKICAgICB+
V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKaW5k
ZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlw
Ym9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaApAQCAtMzks
NiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUg
ZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAg
Y2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlwYm9hcmRB
Y2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRhYmxlQ2xpcGJvYXJkKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFz
ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5Mjcz
Li5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFz
ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcg
KzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3Qg
aW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsK
IAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FM
aXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsK
ICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRl
RGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRl
bWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0
NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3Rh
dGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAg
LTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAot
Y2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0
ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FM
aXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi40Mjdi
Mjk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0
ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRy
YW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2Fj
dGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFuc2FjdGlvbihTUUxpdGVEYXRhYmFz
ZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAgflNRTGl0ZVRyYW5zYWN0aW9uKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmggYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggMWY4NzExNS4uMDU2ZWQ3MiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMjMsNyArMjMsNiBAQAogI2Rl
ZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlkaUNvbnRleHQuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4IEBAIHN0cnVjdCBCaWRpQ2hhcmFj
dGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25leHQ7CiB9OwogCi10ZW1wbGF0ZSA8
Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBC
aWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJpZGlSZXNvbHZlcik7CiBw
dWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAgIDogbV9kaXJlY3Rpb24oV1RGOjpV
bmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
UmVndWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVz
c2lvbi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9S
ZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Citj
bGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNp
dGl2aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29k
ZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5o
CkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNs
YXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVj
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAg
ICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNo
YXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3
Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIv
Rm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9G
b250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2NvZGVy
X2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZv
bnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29k
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9vbCBuZWVk
c1RyYW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyog
PSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdp
bi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4u
MmQxNDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYgKzQxLDcg
QEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3Mg
ZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlwYm9hcmRX
aW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9i
amVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZy
YW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3Nh
Z2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2Fk
Y2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRj
YXN0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9h
ZGNhc3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9h
ZGNhc3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihI
V05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3Zl
TGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
YmFzZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5o
CkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFz
aFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7
CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVn
aW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
TWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRT
Y2hlZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBf
dCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRT
Y2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNj
aGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVk
dWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lk
IE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGRlYWVj
OTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysr
IGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTMsNyArOTMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxseQogICAg
IH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1
Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3Qs
IGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91bGRBbGxv
d1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJlcXVl
c3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZGI5NDc4YyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1uSW5m
byB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVk
Q29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2Rl
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDkuLjU1NWU4
MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBD
b3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRoaXMgaW1w
bGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFyZW50cyBp
biBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91
dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNjYTNlNDIu
LmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBAQAogCiAj
aW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBA
IGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0
OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlv
dXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGlj
OgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFy
ZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNs
dWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsK
IAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVy
QXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNp
emUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmlu
ZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzU0LDcg
KzM1NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlckhhZExheW91dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBG
bG9hdGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0aW5nT2Jq
ZWN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5v
dGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNr
IHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBG
bG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBAIC02ODEs
NyArNjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9jb250aW51
YXRpb247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZp
ZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRh
KGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3Np
dGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1
bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFy
Z2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQo
MCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAxNDNj
NzJjLi40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
Y3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1l
VGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJveE1vZGVs
T2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVmIEhhc2hN
YXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIAotY2xh
c3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1
YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJ
bWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQYWludEF0TG93UXVhbGl0
eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIEltYWdlKiwgY29uc3Qg
dm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5o
CmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApA
QCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQg
bm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3Jp
ZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAgdm9pZCBy
ZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVz
b3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAy
MzQ2NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5o
CkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJl
bmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uY2FkODQ1NyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3Np
dGluZ0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcg
Zm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJM
YXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5k
ZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1h
cnF1ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckxh
eWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9mIGxheWVy
cyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgdmlydHVhbCB+UmVu
ZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZs
b3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKaW5kZXggMjUzYTY3Mi4u
MzFlMDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICszNyw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cgYXJlIHNo
YWRvd3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3JkZXItaW1h
Z2UpLgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhl
c2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94LgotY2xh
c3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyT3Zl
cmZsb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRS
ZWN0JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlvdXRPdmVy
ZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7Citz
dHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6
CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjIzYjVlNjAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKCkKICAg
ICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDA3ZjkzM2YuLjEz
M2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1NCw3ICsyNTQsOCBAQCB2b2lkIHRv
UmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQgY2xhc3Mg
dG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0YXRlTWFp
bnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWlu
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlTWFpbnRhaW5lcik7CiBw
dWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91dFN0YXRlTWFpbnRhaW5l
cihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNpemUgb2Zmc2V0LCBib29s
IGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdo
dENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDog
cHJpdmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAg
ICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6
IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdl
QnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaApp
bmRleCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdJ
bWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJU
b29scy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBHcmFw
aGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFNWR0ltYWdlQnVmZmVy
VG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VCdWZmZXJUb29scyk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiBhYnNv
bHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBlZEFic29sdXRlVGFyZ2V0UmVj
dCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2UpOwogICAgIHN0YXRpYyB2b2lkIHJl
bmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyKiwgUmVuZGVyT2JqZWN0KiwgY29u
c3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdN
YXJrZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZv
LmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJM
YXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUg
IlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckRhdGEuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw4
IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7CiB9
OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR01h
cmtlckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01hcmtlckxheW91dEluZm8oKTsKICAg
ICB+U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAppbmRleCA0
OTU5MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJj
ZXMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaApAQCAtMjIsNyArMjIs
NiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIFJlbmRlclNWR1Jl
c291cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEgc2V0IG9m
IHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNWR1Jlc291
cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJj
ZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVz
b3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNz
IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFz
cyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNv
dXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hl
KCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVz
b3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xh
c3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFz
cyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAg
U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAg
ICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRl
eCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxh
eW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIxLDEzICsy
MSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVM
YXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRhYmxlTGF5b3V0
KFJlbmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9U
cmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQu
aCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXgu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAgZW51bSBUcmFuc2Zvcm1EaXJl
Y3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBseUludmVyc2VUcmFuc2Zvcm1E
aXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiB7IEZsYXR0ZW5UcmFu
c2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQ
b3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3QgaW50IFBv
c2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdm
ZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAotY2xh
c3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZl
cnRpY2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGljYWxQ
b3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUoKQogICAg
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRhMi4uZjIz
ZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCkBAIC0zMyw3ICszMyw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFnZTsKIAotc3RydWN0IENv
bnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlwZShDT05URU5UX05PTkUp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oIGIv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi5k
ZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVu
dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMw
LDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVu
dCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0
b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVy
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li5jNmVlNTEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3Qg
RmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZpbGxMYXllclR5cGUpOwog
ICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1No
YWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBj
YTgzYWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFk
b3dEYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0y
Niw3ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIK
LSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsKIAog
Ly8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRl
eHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0RhdGEg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1f
eCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxk
ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKaW5kZXgg
MzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5r
QnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7CiAvLyBQ
aGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQsIGNvbXB1
dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVkIGluIHRo
ZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQaGFzZSB0
aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBwbGllZCB0
byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVuZ3RoKS4K
IAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0
Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICsz
OCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0
cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAv
LyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0
RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwog
cHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQg
YnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQwNThkOC4u
NjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5o
CkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVyU1ZHSW5s
aW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNo
IGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBv
YmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmUo
KTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7IHJldHVy
biBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkzZWYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZH
UmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsK
IGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0
TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1i
YXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25z
dCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMwLDcgKzMw
LDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAvLyBIZWxw
ZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2VybmluZycg
LyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0
RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmco
Y29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNr
LmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4uY2UwYmE0
ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNv
bXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0
byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25p
emVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIp
OwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2
OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaApp
bmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJh
c2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01
Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0
eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERh
dGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNr
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRyYWNr
ZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRpYyBEYXRhYmFzZVRyYWNr
ZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJh
bnNhY3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9u
TW9uaXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Rv
cmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdl
L0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDcg
KzQzLDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogLy8gRklYTUU6
IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8gVExTLiBLZWVwaW5nIGl0IHN0YXRp
YwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJzLiBBbm90
aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSB2ZWN0b3IgaW4gdGhlIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0
b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0
b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBlbmRpbmdUcmFuc2FjdGlvbihJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVQZW5k
aW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oIGIvV2ViQ29yZS9zdG9yYWdl
L0xvY2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40NjcyMDQyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9M
b2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhp
cyBjbGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQsIEFyZWFT
eW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9zdG9yYWdl
L0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLjI0ZmUxOWMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTogUmVuYW1l
IHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVh
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRy
PExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJl
YWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBi
L1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi5hYzI4
YTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmln
aW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9y
YWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNv
cmQuaAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNv
cmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE9iamVjdHMg
b2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0aCBleHRl
cm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJndW1lbnRzIGFyZSBhbHNvIHN1cHBv
c2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxlciB3aGVuIG5lY2Vzc2FyeS4KLWNs
YXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdp
blVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5Vc2FnZVJlY29y
ZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgT3JpZ2luVXNhZ2VSZWNv
cmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50
LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBmZWQwNjU3
Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApAQCAtMzMs
NyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAgQEAgY2xh
c3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5zYWN0aW9u
IGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQKIC8vIHBh
cnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNhY3Rpb24u
Ci1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJh
bnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNR
TFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0
aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJz
dHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFz
ZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXgg
OTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0
aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29y
ZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBj
bGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFNR
TFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJlTG9jayhT
UUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5zYWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NN
SUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRl
bnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9u
cyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRy
PFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50
RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJj
ZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0g
ICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwot
ICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlz
dCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAg
Ly8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50
LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3
NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRh
LmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcgKzIxLDYg
QEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIFNW
R0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3Rh
bmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdF
bGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNW
R0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEu
aAppbmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250
RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0Zv
bnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2ViQ29yZS9z
dmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVu
ZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZH
UGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhC
bGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3Ry
ZWFtLmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZH
UGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBA
IC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lmIEVOQUJM
RShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDggQEAgdHlw
ZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQgc2hv
cnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNy
ZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgg
Yi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3ZTRjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2
Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykK
ICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2lu
Z01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1l
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNvbnRp
bnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0
aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Zn
L1NWR1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5
LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNW
R1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJz
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNl
LmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZH
UGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291cmNlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+
U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29u
c3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUv
c3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBA
IC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zv
cm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94
LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAg
ICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Zn
L2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cAppbmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBA
IC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VD
aHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50KFNW
R0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0
aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0
aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFz
cyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVBbmFseXNl
cigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJz
b2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOGYzZjE1
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDggKzQyLDEw
IEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2Vi
U29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKTsK
IHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJMJiwgY29u
c3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgpID0gMDsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5NzM5Yzgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAog
ICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRD
aGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmws
IHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29y
ZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysg
Yi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywx
MyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFu
ZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRI
YW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRz
aGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0
ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tl
dHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi5hYzgz
ZThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94
eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBX
ZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNv
bnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3
OCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlk
Z2UuICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAv
LyBsaWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29j
a2V0Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIq
IGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBj
bGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwm
IHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJDb3JlL3dv
cmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGExLi42OGY5
NjI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9z
aXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUzLDcgKzUy
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5Owog
CiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdv
cmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVk
V29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
ZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFz
IGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQg
d29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0
Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQog
CiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRo
ZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAg
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1
YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4
IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNs
dWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2
LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5n
UHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJv
eHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1
YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHko
V29ya2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNw
cCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNmLi43YjMx
NDljIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKKysrIGIv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDggQEAgU3Ry
aW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9
CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5M
b29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7CiBwdWJs
aWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAgICAgIDog
bV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVu
TG9vcC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRlZGZkLi5m
YTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAot
ICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
VGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NP
d25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFz
az4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFkR2xvYmFs
RGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKQEAg
LTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgp
CiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFy
dHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtl
clRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpS
ZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVz
dCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmlu
ZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApA
QCAtNDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFk
YWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxY
TUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2ViQ29yZS94
bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3JlL3htbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVjdCBFdmFs
dWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlv
bkNvbnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAgICAgdW5z
aWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAg
LTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+
UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6
IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4
cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250
ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29y
ZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0
LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNl
IFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0
ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3htbC9YUGF0
aFBhcnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtNTgsNyAr
NTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQgdCwgRXFU
ZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQogICAgICAgICB9OwogCi0gICAg
ICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBh
cnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwogICAgICAg
ICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJzZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3JlL3htbC9Y
UGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUu
aApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2Rl
U2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAg
ICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3Rl
cC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhT
dGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNs
YXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFy
c2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGlj
IFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBB
eGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywg
QXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
ICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAgIGVudW0gS2luZCB7CiAg
ICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxl
LmgKaW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFNMSW1w
b3J0UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBj
bGFzcyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNv
dXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFy
ZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Q2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNmViYTIxLi4zYTZjZGQ2IDEwMDY0
NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlk
IG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIElu
aGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5n
IGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAg
ICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRp
b24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmgg
aW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUu
aDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6IFVwZGF0ZWQgZm9yIHJl
Y2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVj
dC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4M2YuLjQz
ZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAgLTMyLDE0ICszMiwxNCBAQAog
I2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gQm91bmRPYmplY3QgaXMg
YSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMK
IC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQg
b25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4
OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUp
OwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLjU5YzIxNzcgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCkBAIC00MCw3ICs0MCw2IEBA
CiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4
RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJ
ZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoK
ICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2Fs
bGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkK
ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaCBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0
Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRN
YW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5o
CkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNv
bWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQog
Ly8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2ls
bCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdh
aXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAg
ICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2Vu
dCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZp
bmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsKQEAgLTQ0LDggKzQzLDgg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50Owog
Y2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlICB7Citj
bGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZy
b250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9v
bHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudElt
cGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5k
ZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
ZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29s
c0FnZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50
LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2IuLmIwODUzMzggMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTM2LDcg
KzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURh
dGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJv
bnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAg
IFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3
ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBhZGFhYjYx
Li5jMDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yNzksNyAr
Mjc5LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250
YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJp
ZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8v
IG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVn
aW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRD
b250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDog
cHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJp
bnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1l
KQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJi
YWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNs
dWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFz
cyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4
IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3Bw
IGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUy
NmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAor
KysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYg
QEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgot
I2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
SW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAg
KiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAK
LWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VI
YW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxl
LmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9t
YWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyAr
MzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6
RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFs
dWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBk
YXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpT
Qzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVj
dE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dl
YktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzcz
OS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldl
YkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xp
ZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRk
NGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9X
ZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zh
c3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0
Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUg
PHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlh
bnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3
IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dp
bi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgK
ICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWlu
ZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJ
QU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAg
c3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBl
Jik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2lu
L0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253
bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRl
PHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3Ry
aW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFz
cyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlC
YWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3Bl
cnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBl
LCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJL
aXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAg
ICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
IGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgx
ZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9X
ZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGlj
IGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4g
IXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6
IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFz
ZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERh
dGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBT
X09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNo
VG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0
eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVj
dG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTgg
MTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9X
ZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9o
CiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Y2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0
b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3Bl
Y3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyop
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9X
ZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlh
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBi
L1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBz
dGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVy
biBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
aXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0
cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBm
MDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgK
KysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdl
YlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxk
IHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0YXRp
YyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2Vi
U2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgK
aW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxp
emVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAt
MzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxp
emVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMg
SVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVi
bGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3Rh
bmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcu
LjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyAr
MzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0
ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29w
eWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGlj
OgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0
YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjMgIFpv
bHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5k
IEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9j
QmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0
NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhl
cml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUu
aCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTIy
ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgcGF0aHMgcmVs
YXRpdmUgdG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0byBhY2Nlc3Mgc2hhcmVkIC52
c3Byb3BzIGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5
U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgK
aW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5h
cnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCaW5hcnlTZW1hcGhvcmVf
aAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIENv
cmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktpdDIv
UGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNb2R1
bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAgTW9k
dWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVt
b3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9y
bS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJlZE1l
bW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTUyLDcgKzUxLDgg
QEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxl
IDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAgICAg
ICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNv
bnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQ
cm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJQ
bHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIlNoYXJl
ZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0o
TUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlv
bjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNs
YXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBz
aGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44YzVlOGUzIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1NoYXJl
ZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5lIENoaWxkUHJvY2Vz
c19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0
ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAg
fkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9i
amVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1l
c3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAorKysgYi9XZWJLaXQy
L1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMwLDYg
QEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGlt
ZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0
UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05Q
T2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VT
UykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1No
YXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9u
LmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvU2Fu
ZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9uX2gKIAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaCBiL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCmluZGV4IGU4ODg5
YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZElu
ZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGlj
YXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJbmRpY2F0b3JXaW5k
b3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9ydCA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1JlZlB0
ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUyLi4wZGM3YTljIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2Vy
LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQxLDcgKzQwLDggQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJQ
cm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDogTm9uY29weWFibGUg
IHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nl
c3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4uOWUxNzQyZSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2lu
LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVX
aW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3Jl
OjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3RvcmllczsKIH0KIAotY2xh
c3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2VyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQYXRo
V2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktp
dDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1Zp
c2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvV2ViS2l0Mi9VSVBy
b2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRMaW5r
UHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTguLjhiMDAzMzMgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAorKysgYi9XZWJL
aXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAog
I2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVx
dWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1NCw2IEBAIGNsYXNzIFdl
YlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8
RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRvd25s
b2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9hZCgp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFn
ZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKaW5k
ZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25s
b2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERvd25sb2FkTWFu
YWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7
CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2Jq
ZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgK
aW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lX2lu
dGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8vIE5QSlNPYmplY3Qg
aXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3MgTlBKU09iamVjdCA6
IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09iamVjdCA6IHB1Ymxp
YyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09iamVjdCk7CiBwdWJs
aWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAqIG9i
amVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBiL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5o
CmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0yOSw3
ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rpb25zIGZvciB0aGUg
Z2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
CiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1jbGFzcyBQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Qcm9j
ZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBAQAog
I2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXkuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZjNzE5IDEwMDY0NAot
LS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAorKysgYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXgg
ODI0YjcxNy4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTIzICBab2x0
YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBG
YXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jh
c2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1
ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJp
dGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmgg
YW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZv
cndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4
ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgSmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMsNyBAQAogCiAyMDEwLTA3LTA3
ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29tbWVu
dCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8KgdG8g
ZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9m
IFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdlciBh
bmQgTGVvcGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJ
bi9tYWluLmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFi
bGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAg
LTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAgdHlw
ZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3VuZENs
YXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkgYWNj
ZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQqIHZh
cmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3BwQm91
bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJU
RGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJU
RGV2VG9vbHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAg
LTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNB
Z2VudENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBAIHN0
cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsK
IAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdl
bnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVi
bGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0Fn
ZW50KCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0RSVERldlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgK
KysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGll
bnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3MuaCIK
ICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7CiAK
IGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVi
bGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAg
ICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBw
dWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHND
bGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1YWwg
fkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2
NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyAr
MTExLDggQEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIu
IFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMg
cG9zc2libGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5h
dmlnYXRpb25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9u
Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRy
b2xEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVt
ZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4dC9w
bGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29y
ZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEgZm9y
d2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNvbnRy
b2xEUlQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGljOgog
ICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2Vi
Q29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBh
cmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2lu
ZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdp
bmVEUlQuaAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4LDkg
KzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2luL1dl
YlRoZW1lRW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdl
YlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURS
VCk7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dlYktp
dEFQSVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRvb2xz
L1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZpbmUg
SG9zdFdpbmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRv
dyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoKICAg
ICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJLaXRB
UElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvV2Vi
S2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEz
IEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9s
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDExICsy
NywxMCBAQAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dL
UmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
VFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUZXN0SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3QgY2hh
ciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74652</attachid>
            <date>2010-11-23 05:40:44 -0800</date>
            <delta_ts>2010-11-23 07:15:17 -0800</delta_ts>
            <desc>playing with EWSs</desc>
            <filename>kedd3.patch</filename>
            <type>text/plain</type>
            <size>326657</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRm
NmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgU2F0aXNoIFNhbXBhdGggIDxz
YXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgg
Yi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZX
RF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggODVkYjZmZC4u
OTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU1OCwx
MCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJ
CQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi5iMmFjODY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAg
c3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91
c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3Jp
cHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNo
ZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRleCA0YzI1NDA3
Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwx
MiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmll
bmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9v
a3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
ICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1
Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyBy
ZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdp
Y2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdX
cmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVn
V3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFy
ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4
IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAg
IHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHku
IFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2
YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUo
SlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1Li4y
NzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRv
dzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4g
PiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBm
cmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7
CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+
V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5j
b250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBA
CiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0g
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxlcihXb3JrZXJDb250ZXh0
Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
CmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC00Myw3ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJlYWQuICBUaGUgRE9NRGF0YSBm
b3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3IgY2hpbGQgdGhyZWFkcwogICAg
IC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERPTURhdGEo
KTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0xNDksNyArMTQ4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMg
bWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YVN0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3RvcmUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01Ob2RlTWFwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQy
ZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAiT3duSGFuZGxlLmgiCiAjaW5j
bHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAg
ICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1j
bGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jp
cHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2
ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBiNzVhMDU0Li5lMDk2OWUxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNp
bmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRT
dGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRp
dGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi5kYzI0NzEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3Mg
UGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1
YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0Vt
cHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNl
cHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgp
IHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShz
Y3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAog
Ly8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMg
YW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRl
IHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAg
ICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0
ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBA
QAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRp
bmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhv
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJh
bWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2FkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
cmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9C
cmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDgg
KzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3Mg
Q2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAg
ICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3Qg
SWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZp
ZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0
IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDgg
QEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0
OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQ
YXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaApAQCAt
MzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5o
CmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcg
QEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENT
U0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VW
YWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLjczZjJhY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4u
MDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFt
ZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0
b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93
blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMWRhMjBiNy4uOTcyZjc3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5k
U2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNz
IENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Bh
cnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyAr
ODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7
CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAgICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVM
aXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENT
U1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50
IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFs
c2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAg
OiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7
IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0YWFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0
LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsK
IAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVs
ZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9y
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1NlbGVj
dG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMw
Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lmaWNpdHlG
b3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsK
IAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJlRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJh
cmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAgICAgICAg
ICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApp
bmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3
LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rv
ckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1NlbGVjdG9y
TGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZmM2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7
IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4xM2ZjOTdlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1j
bGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQo
Y29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHBy
ZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlz
IGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9u
IGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3Vt
ZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVk
RWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBh
Z2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdy
b3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1
cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hl
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBi
b29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyArMzE4LDggQEAgcHVibGljOgogICAgICAg
ICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5
UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1Nl
bGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3Np
dGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgICAgICA6IG1fZmlyc3Qo
bmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRleCAyODEwMDliLi43
ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gUmVz
dHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9uZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hh
cmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhl
IGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2Jh
YmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkg
c2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3Ig
ImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICsz
OCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAK
LWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRp
YVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1
ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAg
Yi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFz
eW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBD
YWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAg
ICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsK
KyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBj
YWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYo
KXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5o
CmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBA
IGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVu
dDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3lu
Y1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5
bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
IGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvV2ViQ29yZS9kb20vRE9N
U3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3
ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGlu
dCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01T
dHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwg
fkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODNiYTg4NS4uODQxYmIyNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAg
ICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29u
dGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1l
bnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRv
Y3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4uNTBlYzg4MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7
IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5o
IGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVkMzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYg
KzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVudF9oCiAKKyNpbmNsdWRlICJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zMSw4ICszMiw2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKLQogICAgIGNsYXNz
IEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+IHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAvLyBl
bmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBFdmVudE5hbWVzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMTRk
OTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFu
bmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAK
QEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBw
b3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNz
IEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0
YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFz
c093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAg
ICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAg
cHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzogICAgCiAg
ICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3RhYkluZGV4KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgK
aW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBA
QCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFt
ZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxR
dWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJl
YjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNj
cmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVt
ZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgy
YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysg
Yi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKKyAg
ICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
PSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBz
byB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUg
Y29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAg
LTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU3BhY2VT
cGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0
cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
U3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uo
c2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5o
CmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsy
Myw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQ
bGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBE
ZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVy
ZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGlj
YXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwog
cHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJu
IHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1
cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHBy
b2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxl
bWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2My
Li5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisr
KyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6
IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMyODVmLi42ZWRlNzg2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAg
ICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsK
ICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQxOTMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFhNTERvY3VtZW50UGFy
c2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKFhTTFQpCiAjaW5jbHVkZSA8bGlieG1s
L3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVu
dFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApp
bmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlw
ZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9
OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVw
bGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVu
dEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50
KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRG
cmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29y
ZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAi
VmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0
aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlv
bk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rp
b25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxl
ZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTlj
NzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBA
IHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNz
IFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hl
Y2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBl
cik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NS
ZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVw
cyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhl
IGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMg
ZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYg
PGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJp
bmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQu
aApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQg
c3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4u
MTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkg
cG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
cGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhh
dCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxs
ZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVy
LmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4u
MDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmls
ZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0Nh
bGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBl
bmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxs
YmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJl
c3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlw
ZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmlu
ZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9s
bGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
ICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3Rv
cnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NS
ZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAot
ICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUq
IHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZh
Li5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysr
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rpb25DYWNo
ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uZTE1MDczMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tl
bkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLmUwZGJj
YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2Vw
YXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVj
dCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBFdmVudEhhbmRs
aW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmVm
UHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWlu
YXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQ
YXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBk
ZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3Mu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQog
ICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2Zh
Li5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNs
YXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0
eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBv
c2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8g
Y2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBl
PiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4x
ZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdl
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAot
Y2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29s
IGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4
IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3Mg
VmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlv
bk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApA
QCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCBhMjVlOGExLi4xNGY1YTBhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBA
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7
CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZp
cnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVs
b2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGlj
OgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1Ymxp
YzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rp
b25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQq
IGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhU
TUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDog
bV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRl
eCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZkNDExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVu
dFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNz
IFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2Fy
ZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJk
IChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1l
bnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNrKCk7CiAgICAgfkhUTUxF
bGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIH5FbGVtZW50UmVj
b3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5mNzVm
YTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVu
dExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50
OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNs
YXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBhNzA5YmQ5Li42NDJlNDM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0
ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRo
ZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAi
bGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAgICAgICA6
IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjksOCBAQCBwcml2YXRlOgogICAgIFNlZ21l
bnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0U3RyZWFt
KQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBA
CiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFz
cyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
UGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2No
ZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3Mg
U2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAi
TmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmlu
aXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBl
bmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgog
ICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxz
ZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBz
aG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8g
ZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1j
bGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWlj
SFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwog
cHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6
IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4
IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVu
dGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFz
cyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAg
ICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAg
ICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBj
bG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAK
LWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVy
VG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQo
dG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAg
ICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtl
SW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxk
ZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5z
ZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWls
ZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1
aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRl
eCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0Lmgi
CiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1
bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTFRva2VuaXpl
ciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywg
Ym9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDMsNyArMjAzLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFu
ZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWln
bkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJh
Z21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVs
ZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaApAQCAtMjgs
NyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIodW5zaWdu
ZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25lc3RpbmdMZXZlbCgmbmVzdGluZ0xldmVs
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlw
dENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwog
Ci1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25z
b2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5z
aWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBj
ZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0
LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3Bl
Y3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxl
ciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAg
ICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlkOS4uZjljMTA0MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25z
ZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+ID4gRE9NU3RvcmFnZVJlc291cmNlc01h
cDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5NTAx
YWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2
ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3Bl
Y3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmlu
ZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3
ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwog
ICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFw
U25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxl
ckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKik7CiAgICAg
dmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUwMjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51
bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxp
bmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBT
Y3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBTY3JpcHRDYWxs
U3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQu
LjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNs
YXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAg
ICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAot
ICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsK
IAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVk
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2
YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgIH0K
ICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzgzLDgg
KzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxG
cmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNsaWVu
dCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1
YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlD
b250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
RW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4dE1l
bnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVkKCkg
eyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShDT05U
RVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0Ns
aWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6Cisg
ICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9pbnQm
LCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAsMTAgQEAgcHVibGljOgogfTsKICNlbmRp
ZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6
IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4
IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1
bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZp
Z2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9u
KGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0
LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBt
X2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCmluZGV4IDE0MDBj
MjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNj
aGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlv
blNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtMzQsNyAr
MzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0
byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFz
IHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwg
dGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgot
Y2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBA
IC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5
YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0
aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlh
bFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0
aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29w
eWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1LDggQEAgY2xh
c3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsK
IAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBy
b2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIo
KTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9S
ZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKaW5kZXggYjZkZTMxMi4uOTZmN2Ix
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAK
LSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1
ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNl
TG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNr
UG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcw
NDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2Fk
Tm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9h
ZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmll
cik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQy
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1Ymxp
YzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2
ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhv
c3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDEx
ZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIu
IEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJh
bWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1
YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxl
TG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90
IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0
aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAog
ICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRh
YmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VF
cnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVM
b2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2Vu
dCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAg
LTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAK
ICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3Vw
LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAppbmRl
eCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBk
YXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29u
dGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlh
YmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAg
OiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGlj
YXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5
ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li42
NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9z
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUg
U3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAg
ICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwog
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAg
ICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAor
KysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApA
QCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgUmVxdWVzdDsKIC8vIEEgcmVzb3VyY2Ug
dGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBv
YmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0
IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZl
ZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRo
IHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xh
c3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJp
ZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBA
CiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3Zlcmxv
YWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsg
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBm
MzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJM
OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBz
Y3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBD
YWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hl
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2
YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1v
cnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRo
aXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1l
bW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNo
ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4
IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1j
bGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0
YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAg
ICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVm
aW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhv
ZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3By
aWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJh
c2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBw
ZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFl
YmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxv
YWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRl
KEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNv
bi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBp
Y29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJM
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVj
b3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
aW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNs
dWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNv
dXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBj
bGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0K
ICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxi
YWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEz
MDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYg
KzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAK
ICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRl
KGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlm
aWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92
aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4
NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNv
bnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51
Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRN
ZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAg
ICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFn
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRy
b2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0
ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJh
cnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSop
OwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRs
ZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdT
dGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhh
bmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8g
ZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2Ug
Z2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2Ry
YWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
dmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMuLjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgog
I2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4
ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZy
YW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhp
c0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZl
cnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGlt
dW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25l
IGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0
c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVk
dWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVs
ZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9k
ZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5k
ZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFz
cyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9s
bGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0
dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBh
Z2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRp
bmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApp
bmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNj
cmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3Jv
dXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
UGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERl
ZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41YjcwNzIzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFs
dGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhh
bHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVy
KFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4
dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0
aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5k
ZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5w
dXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJl
cXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVj
aCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBl
bGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZv
ciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0
cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNo
SW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6
CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVl
Y2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5o
CkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNj
cmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1
cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0
LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0
eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyAr
MzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
d2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9y
LmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxk
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2Ny
aXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVz
ZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3Mg
WFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAg
ICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFz
ZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0
eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3Bl
cnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBl
ckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb3BlcnR5V3Jh
cHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00MzgsNyArNDM5
LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
QmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBl
ckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGlj
OgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0
ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3
MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFu
aW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApp
bmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1
cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9
CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2
ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAg
ICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRl
eCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNG
aWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFj
ZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3Rl
IHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0Zp
bGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAg
IHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBA
IGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBG
aWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4g
YSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmly
dHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0
b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApA
QCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRv
ZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBf
X09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFz
cyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRv
ZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29s
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgog
ICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2Ry
YWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51Lmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0
TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDog
cHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uMTEyNjU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENv
bnRleHRNZW51SXRlbShQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaAppbmRleCA0N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0
ckxpc3RfaAogCiAjaW5jbHVkZSAiRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8
Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBs
KGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0
KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1
ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17Citj
bGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJl
Y2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVw
cmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZl
bnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9v
cCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2Vu
ZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2
NS4uZjYyN2M2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0
aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
Z2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7
CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9s
b2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2Uq
IGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2Nh
dGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRv
dy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0
V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAg
IHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAogICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGlu
dmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBjb250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0
cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVyd2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaApp
bmRleCA4ZTI3MzUwLi5iODgzZmYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxS
aW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwog
ICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUu
LmM0MjlhNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhf
aAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRy
YXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0w
eDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5n
dGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNp
YywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAg
TGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApp
bmRleCA3YzUwNzM3Li40OTZmYmIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3Rl
Ym9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgxLDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNs
YXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2Fy
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9IZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENs
aXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtS2V5Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZl
bnQuaAppbmRleCBiYzI4ZTg0Li42YTM2MzE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1L
ZXlib2FyZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGlu
dCB1aW50MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5
Ym9hcmRFdmVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtl
eWJvYXJkRXZlbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1Ymxp
YzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBi
eSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1h
dGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9u
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUg
UHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNz
IFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2Vh
YmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVy
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZl
cj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVu
TG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhjNTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1l
ci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1
ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGlu
dGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRp
bWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZv
aWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1l
LmgKaW5kZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApA
QCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xs
YmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkg
e307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4uMTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGlt
ZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUg
U2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0
YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAg
ICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFk
LgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVy
IGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAg
ICAgICAgU2hhcmVkVGltZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7
fQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAK
ICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTQ1LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFwcGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVy
czsKIAotICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUaHJlYWRHbG9iYWxEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERh
dGEoKTsKICAgICAgICAgflRocmVhZEdsb2JhbERhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5o
CmluZGV4IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcs
NyArMjcsNiBAQAogI2lmbmRlZiBUaHJlYWRUaW1lcnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNf
aAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFzZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBv
ZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBUaHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNz
IFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGlt
ZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZFRpbWVycygpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYs
NiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5lIFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRp
bWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAg
dmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVT
aGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4
NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRy
ZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJl
ZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+
Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVk
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBU
cmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXggOWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvbkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25M
aXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRl
eCA0MzE4YjgxLi4zOThlMTI3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1
ZGlvQnVzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3
ICszMCw2IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gKIAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9u
ZSBvciBtb3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBUaGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIg
YXMgb3Bwb3NlZCB0byAiaW50ZXJsZWF2ZWQiLgogLy8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hh
bm5lbCBpcyBtb25vLCBhbiBBdWRpb0J1cyB3aXRoIHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0
Yy4KLWNsYXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1
cyAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAg
ZW51bSB7CiAgICAgICAgIENoYW5uZWxMZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
Q2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVlOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9o
CiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAv
LyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBhIGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQg
ZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4KIC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9y
bWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWluYWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFz
cyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVs
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb0NoYW5uZWwpOwogcHVibGljOgogICAg
IC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSByZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJu
YWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zsb2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2IzOGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9IUlRGRGF0YWJhc2UuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJU
RkVsZXZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZLZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCmluZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVm
aW5lIEhSVEZFbGV2YXRpb25faAogCiAjaW5jbHVkZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0
Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gSFJURkVsZXZhdGlvbiBjb250YWlucyBh
bGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVmdCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVy
IGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3VsYXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRG
RWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZFbGV2YXRpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZFbGV2YXRpb24pOwogcHVibGljOgogICAgIC8v
IExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBk
YXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZhdGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktp
dC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAvLyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5
IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhl
IHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMgd2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBA
QCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MK
IC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1z
dHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEo
KQogICAgICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gK
ICNkZWZpbmUgQ29sb3JfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApA
QCAtNzUsNyArNzQsOCBAQCBpbmxpbmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsg
cmV0dXJuIChjb2xvciA+PiA4KSAmIDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdC
QTMyIGNvbG9yKSB7IHJldHVybiBjb2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFu
bmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xh
c3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwg
bV92YWxpZChmYWxzZSkgeyB9CiAgICAgQ29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCks
IG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbnRleHRTaGFkb3cuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hh
ZG93LmNwcAppbmRleCA4N2ExYzVjLi4wNzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250
ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2luZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkg
QEAgRm9udENhY2hlOjpGb250Q2FjaGUoKQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0
YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hl
S2V5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0
Zm9ybURhdGFDYWNoZUtleShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmlu
ZygpLCB1bnNpZ25lZCBzaXplID0gMCwgdW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMg
PSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250
ID0gZmFsc2UsIEZvbnRSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJp
bmdNb2RlLCBGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAg
ICA6IG1fc2l6ZShzaXplKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXgg
ZTY4NDVkOS4uNGZhNzQxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBA
IC01MCw3ICs1MCw4IEBAIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3Rv
cjsKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRm9udENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBG
b250Q2FjaGUqIGZvbnRDYWNoZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnREYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgK
aW5kZXggZWU5NGE5OC4uMGViNjY4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEu
aApAQCAtMjcsMTQgKzI3LDE0IEBACiAjZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBs
ZUZvbnREYXRhOwogCi1jbGFzcyBGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21h
eEdseXBoUGFnZVRyZWVMZXZlbCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HbHlwaE1ldHJpY3NNYXAuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhN
ZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5z
aWduZWQgc2hvcnQgR2x5cGg7CiAKIGNvbnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7
CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdseXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5
cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxlZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5
cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCmluZGV4IDZhZGM5MGIuLmJhNzg5YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3Qu
aCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNp
ZiBQTEFURk9STShDRykKQEAgLTE1Myw3ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIEludGVycG9sYXRpb25IaWdoCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29u
dGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0
Zm9ybUdyYXBoaWNzQ29udGV4dCopOwogICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0z
NTYsNyArMzU2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3Vs
ZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNo
aWxkV2luZG93cygpIGNvbnN0OwogCi0gICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBXaW5kb3dzQml0bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+
V2luZG93c0JpdG1hcCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCmluZGV4IGMyZDVjMjQuLjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBh
dm9pZCB0aGUgbmFtZSBjb25mbGljdGlvbiBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShD
SFJPTUlVTSkgJiYgT1MoV0lORE9XUykpIHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFU
KSAmJiBPUyhXSU5ET1dTKSkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0UHJpdmF0ZS5oCmluZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04
NCw3ICs4NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBj
bGFzcyBHcmFwaGljc0NvbnRleHRQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBHcmFwaGljc0NvbnRleHRQcml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR3JhcGhpY3NDb250ZXh0UHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBHcmFwaGljc0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDog
bV91cGRhdGluZ0NvbnRyb2xUaW50cyhmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmgKaW5kZXggOTkxY2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1p
bmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xhc3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNl
ZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJlIHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9w
ZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZpYSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQg
cHVsbGluZyBpbiBzdHlsZS1yZWxhdGVkIGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9y
bSBkaXJlY3RvcnkuCi1jbGFzcyBBbmltYXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0
aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlv
blZhbHVlKGZsb2F0IGtleVRpbWUsIFBhc3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1
bmN0aW9uID0gMCkKICAgICAgICAgOiBtX2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcs
OCBAQCBwcml2YXRlOgogCiAvLyBVc2VkIHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBh
IGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8g
d2hpY2ggY2FuIGJlIGluZmVycmVkIGZyb20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVW
YWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Qg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoK
IAogICAgIEtleWZyYW1lVmFsdWVMaXN0KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAot
ICAgIGNsYXNzIEltYWdlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJ
bWFnZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0
dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFsbG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGlj
IFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xv
clNwYWNlIGNvbG9yU3BhY2UgPSBDb2xvclNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZVNvdXJjZS5oCmluZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUg
SW1hZ2VTb3VyY2VfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShX
WCkKQEAgLTExNyw3ICsxMTYsOCBAQCBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsK
IGNvbnN0IGludCBjQW5pbWF0aW9uTG9vcEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1h
dGlvbk5vbmUgPSAtMjsKIAotY2xhc3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW1hZ2VTb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291
cmNlKTsKIHB1YmxpYzoKICAgICBJbWFnZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0
cnVlLCBib29sIGlnbm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFn
ZVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRl
eCBlODdjNTNjLi4zMTY1NDc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRl
cmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBsYXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBl
bmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUg
eworc3RydWN0IE1lZGlhUGxheWVyRmFjdG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAg
ICBNZWRpYVBsYXllckZhY3RvcnkoQ3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3Is
IE1lZGlhRW5naW5lU3VwcG9ydGVkVHlwZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5l
U3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0
b3IoY29uc3RydWN0b3IpCiAgICAgICAgICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVk
VHlwZXMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQy
Yi4uNzFjOTlkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAt
MzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdIYXNoLmg+CiAKQEAgLTE0Niw3ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAK
LWNsYXNzIE1lZGlhUGxheWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxh
eWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXll
cj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAg
LTM2LDggKzM2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFz
cyBJbnRTaXplOwogCi1jbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSgpIHsgfQogICAgIHZpcnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQog
CiAgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9QYXRoLmgKaW5kZXggYmEyNWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhf
aAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICB0eXBlZGVmIHZvaWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBp
bmZvLCBjb25zdCBQYXRoRWxlbWVudCopOwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQYXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3
N2RiLi44ZTNhMDQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVk
QmFja2luZ1N0b3JlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tp
bmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdy
YXBoaWNzQ29udGV4dDsKIGNsYXNzIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBU
aWxlZEJhY2tpbmdTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tp
bmdTdG9yZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRp
bGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oCmluZGV4IGRhYzMxZjguLjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0y
NSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9u
dFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBlZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7
CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9fZm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAt
MzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRh
OwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6
IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0dMRVMyQ2FudmFzLmgKaW5kZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyAr
MzksNiBAQAogI2luY2x1ZGUgIlRleHR1cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsK
IGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7
CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMy
Q2FudmFzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6
CiAgICAgR0xFUzJDYW52YXMoU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVy
KiwgY29uc3QgSW50U2l6ZSYpOwogICAgIH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmgKaW5kZXggNTMxZDY1Mi4uM2M3MWFjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3
ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tCaXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hy
b21pdW0uaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgK
aW5kZXggMWYzMzUyNy4uNTI2YTg3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCAr
MzIsMTQgQEAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAj
aW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21p
dW07CiBjbGFzcyBMYXllckNocm9taXVtOwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVu
ZCBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVu
ZGVyU3VyZmFjZUNocm9taXVtKExheWVyQ2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEu
LjI3NTEyNTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
VHJhbnNwYXJlbmN5V2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAtMzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5l
VHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5
YWJsZS5oIgogI2luY2x1ZGUgInd0Zi9Pd25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01
NCw3ICs1Myw4IEBAIGNsYXNzIFRyYW5zcGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9U
ZXN0OwogLy8gdGhhdCBpcyBjb21wb3NpdGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdl
dCBhcm91bmQgV2luZG93cycgaW5hYmlsaXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5u
ZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJv
bHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VHJhbnNwYXJlbmN5V2luIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lX
aW4pOwogcHVibGljOgogICAgIGVudW0gTGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEg
bGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2luZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4
ODkuLjBmNGM5NTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0Ry
YXdpbmdCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5n
QnVmZmVyLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAj
aW5jbHVkZSAiSW50U2l6ZS5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExB
VEZPUk0oTUFDKQpAQCAtNzcsNyArNzYsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKENIUk9NSVVNKQotICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXaWxsUHVibGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHZpcnR1YWwgfldpbGxQdWJsaXNoQ2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5k
ZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVm
IExvb3BCbGlubkNsYXNzaWZpZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lm
aWMgdHlwZXMuCi1jbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExvb3BCbGlubkNsYXNzaWZpZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJp
YyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXgg
ZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAg
QEAKICNpbmNsdWRlICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFu
dHMuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVk
IHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8g
dGhlIGZvdXIgY29udHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdt
ZW50LgotY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBU
aGUgdmVydGljZXMgdGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5p
bmcgYm90aAogICAgIC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBj
dWJpYyB0ZXh0dXJlCiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShWZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5u
VGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5u
VGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVk
ZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9E
QXJlbmEuaAppbmRleCBmNjhiYWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4K
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
QEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBj
aHVuayBvZiBtZW1vcnkgYW5kIGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAg
IGNsYXNzIENodW5rIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRo
ZSBwYXNzZWQKICAgICAgICAgLy8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAt
MzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVk
QmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ0LDggKzQzLDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0
cyBlZmZpY2llbnQgKE8obGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YK
IC8vIGludGVydmFscyBpbiB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJE
YXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVy
dmFsPFQsIFVzZXJEYXRhPiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RS
ZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBPREludGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byBy
ZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAg
ICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9QT0RSZWRCbGFja1RyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJl
ZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAK
ICNpbmNsdWRlICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRl
ZiBOREVCVUcKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVj
dGVkOgogICAgIC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0
cmVlLiBOb2RlcyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9m
IHRoZSB0cmVlIGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBp
dC4KLSAgICBjbGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2Rl
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQu
CiAgICAgICAgIGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBA
QCBwcml2YXRlOgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZp
c2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMu
Ci0gICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAg
ICAgICAgICAgICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1No
YWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L1NoYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5l
IFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNs
YXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29s
b3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hh
ZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1
MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1Rp
bGluZ0RhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRh
LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGls
aW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxp
bmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEo
aW50IG1heFRleHR1cmVTaXplLCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wg
aGFzQm9yZGVyVGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVy
biBtX21heFRleHR1cmVTaXplOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRl
eCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAg
LTI0LDcgKzI0LDYgQEAKICNpbmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5o
IgogI2luY2x1ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUu
aCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyAr
MzUsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xp
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
Y2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgU3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5T
dHJlYW1pbmdDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
aGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmll
bnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRC
dWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxl
IHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRm
b3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCog
Q0dGb250UmVmOwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcg
KzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNs
YXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25j
b3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJl
ZiBhdHNGb250LCBDR0ZvbnRSZWYgY2dGb250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFp
bmVyKSwgbV9hdHNGb250KGF0c0ZvbnQpLCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBl
NGM2Njg4Li44NDg5OTNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW52Zy9QYWludGVyT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dmcvUGFpbnRlck9wZW5WRy5oCkBAIC0yNSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcu
aD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZElt
YWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50
ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJp
ZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50
ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1
cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VP
cGVuVkcuaAppbmRleCA0NmQxNjQ2Li5lZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5j
bHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAq
IG9mICNpZmRlZnMgYW5kIHNob3VsZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJm
YWNlL2NvbnRleHQKICAqIGltcGxlbWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3Vy
ZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBl
bnVtIE1ha2VDdXJyZW50TW9kZSB7CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNl
U3dpdGNoLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAppbmRleCA2YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAt
MjUsMTQgKzI1LDE2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAi
Rm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEo
KSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3
aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZv
bnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
aW5kZXggMjIwMWYxOC4uOWM2NjJhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZD
b3VudCgxKQpAQCAtNjIsOCArNjMsMTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRm
b3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3Jt
RGF0YSgpIHsgfQogICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBi
b29sIG9ibGlxdWUpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0
YSAmKTsKICAgICBGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0
IEF0b21pY1N0cmluZyYgZmFtaWx5TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRl
clNwYWNpbmcgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
R3JhcGhpY3NDb250ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFw
aGljc0NvbnRleHRRdC5jcHAKaW5kZXggMTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3
ICsxNjksOCBAQCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1
bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNv
bnN0IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
VHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNw
YXJlbmN5TGF5ZXIuaAppbmRleCA2YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50
ZXIqIHAsIGNvbnN0IFFSZWN0ICZyZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1h
c2spCiAgICAgICAgIDogcGl4bWFwKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAg
ICAgLCBvcGFjaXR5KG9wYWNpdHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4xNDNlZTc5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50
YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dT
KQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC00OSw3ICs0OCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7
CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEpOwogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAg
ICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGVfaAogI2RlZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8g
YSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQp
CiAgICAgICAgIDogbV9jb250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAx
MTAwODVkLi5kNjgzYWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxh
dGZvcm1Db250ZXh0U2tpYV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNs
dWRlICJOb25jb3B5YWJsZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2lu
Y2x1ZGUgIlNrRHJhd0xvb3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwog
Ly8gcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBz
dG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVz
IHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVz
aGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250
ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1Ymxp
YzoKICAgICAvLyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBj
YW52YXMgY2FuIGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5
b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEw
Mi4uMTBmYjA0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRy
YW5zZm9ybWF0aW9uTWF0cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNw
eQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNp
bmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDgg
QEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25N
YXRyaXg7CiAKLWNsYXNzIEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9u
cy5oCmluZGV4IGMwZGEzNzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEs
NyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJh
dGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25z
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9w
ZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXgu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oCmluZGV4IDk2YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBv
aW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhp
Y3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2lu
dDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0
aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5
cGVkZWYgZG91YmxlIE1hdHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4x
NjI4ZWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3Ry
dWN0IENHRm9udCogQ0dGb250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExF
IGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZl
cmVuY2UoZm9udFJlZmVyZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWly
by5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0
YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4uNTE1NGVhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgK
QEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNs
dWRlIDxjYWlyby5oPgogCkBAIC0zMyw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOwogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRG
YWNlKQogICAgICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMy
MTYxNDAuLjU5NTFlNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0xvY2FsV2luZG93c0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExvY2FsV2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQo
R3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJv
b2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUp
CiAgICAgICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQs
NiBAQAogI2luY2x1ZGUgPFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+
CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02
Myw3ICs2Miw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+
KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0g
MDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBR
VE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmll
VGFza0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwog
cHVibGljOgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4
IGUxM2Y3MzIuLjI2ODYxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUTW92aWVHV29ybGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1FUTW92aWVHV29ybGQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1l
Q29tcG9uZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShR
VFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRU
cmFja1ByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1dLQ0FDRkNvbnRleHRGbHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9X
S0NBQ0ZDb250ZXh0Rmx1c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApA
QCAtMjgsNyArMjgsNiBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgog
CkBAIC0zNiw3ICszNSw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXS0NBQ0ZDb250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRl
eHRGbHVzaGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVy
LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FD
RkxheWVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBA
QCBwdWJsaWM6CiAvLyBGSVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5k
ZXJlciBmb3IgZWFjaCBXZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9H
TENvbnRleHQgYW5kIERpcmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAo
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tD
QUNGTGF5ZXJSZW5kZXJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXll
clJlbmRlcmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVy
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBj
cmVhdGUoV0tDQUNGTGF5ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRl
cmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAj
aW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTM3LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZv
aWQgdW5yZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAK
LSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFt
ZShuYW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
Y2UvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9u
dE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVk
ZWYgc3RydWN0IHRhZ1RFWFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4
IDA4MDI4MjYuLjgyNDU1OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAg
c3RhdGljIHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hh
cmVkQml0bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwg
ZmFsc2U+KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNw
YXJlbnRMYXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgog
ICAgIFRyYW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRh
dGEsIEludFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3Jt
ID0gMCwgaW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRy
YW5zcGFyZW50TGF5ZXJEQygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRM
YXllckRDOjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92
aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBT
Y29wZURDUHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAg
ICAgICA6IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgi
CiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAot
ICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rl
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRl
eCA1YTA0YmVlLi4xZDdiOWY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL0ltYWdlRGVjb2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgLy8gc2V0TWF4TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRo
YXQgZGVjb2RlZCBpbWFnZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBk
ZWZsYXRlIHRob3NlIGltYWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVt
UGl4ZWxzLiAoTm90IHN1cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNs
YXNzIEltYWdlRGVjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VE
ZWNvZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihi
b29sIHByZW11bHRpcGx5QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAg
ICAgICAgICAgICA6IG1fc2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aAppbmRleCA3MTg3ZWNmLi44OWY4MzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9DbGlwYm9hcmRNYWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFz
cyBDbGlwYm9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRU
eXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xp
Y3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5o
CkBAIC0xNyw3ICsxNyw2IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNz
IE5TR3JhcGhpY3NDb250ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRl
eHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVz
IHRoZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNh
bGwgb3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBz
ZXQKLWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9j
YWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0
KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1NoYXJlZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tp
dC9JT01lc3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9y
dCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9y
dCA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5
cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxv
YkRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvRm9ybURhdGFCdWlsZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFRleHRFbmNvZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNj
ZXB0Q2hhcnNldCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApA
QCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5l
IE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiAjaWYgUExBVEZPUk0oTUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBO
ZXR3b3JrU3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3Jr
U3RhdGVOb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90
aWZpZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9p
ZCAoKikoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
SW50ZXJuYWwuaAppbmRleCA5Y2NjZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAg
Y2xhc3MgTlNVUkxDb25uZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJl
c291cmNlSGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJv
b2wgc2hvdWxkQ29udGVudFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0
ZS4uMmI3NDE3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5oCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0
aGlzIHR5cGUgZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xh
c3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBSZXNvdXJjZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0
LCBiYXNlZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBU
YXJnZXRUeXBlIHsKQEAgLTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUo
YSwgYik7IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0
cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgewor
ICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVh
ZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAg
ICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJh
Yi4uY2I4YTUxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0
cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRo
aXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFk
Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBh
c3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyAr
MTc2LDEwIEBAIHByaXZhdGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNl
UmVzcG9uc2VCYXNlOjpjb21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0
dXJuICEoYSA9PSBiKTsgfQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0
YUJhc2UgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNl
RGF0YUJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXNwb25zZURhdGFCYXNlKTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9u
c2VEYXRhQmFzZSgpIHsgfQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7
CiAgICAgbG9uZyBsb25nIG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5
Nzg2Ny4uMTgxNThmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNv
dXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3Bw
CkBAIC03Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5F
VCByZXF1ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNv
dXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3Jt
L3F0L0NsaXBib2FyZFF0LmgKaW5kZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQv
Q2xpcGJvYXJkUXQuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9w
IGFuZCBjb3B5L3Bhc3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJk
LCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJk
UXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEq
IHJlYWRhYmxlQ2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0
YWJhc2UuaAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRT
Y2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50
IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247
CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
U3RhdGVtZW50LmgKaW5kZXggMTQ0NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1FMaXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBTUUxpdGVTdGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+
U1FMaXRlU3RhdGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVUcmFuc2FjdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24u
aAppbmRleCA5MjQyNDFmLi40MjdiMjk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVUcmFuc2FjdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRy
YW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlv
bl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwog
Ci1jbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3Mg
U1FMaXRlVHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5z
YWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFu
c2FjdGlvbihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAg
flNRTGl0ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
QmlkaVJlc29sdmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5k
ZXggMWY4NzExNS4uMDU2ZWQ3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0Jp
ZGlSZXNvbHZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApA
QCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlk
aUNvbnRleHQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4
IEBAIHN0cnVjdCBCaWRpQ2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25l
eHQ7CiB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlk
aVJlc29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRv
ciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEJpZGlSZXNvbHZlcik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAg
IDogbV9kaXJlY3Rpb24oV1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBT
dHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRDb2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1v
cnk+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVu
dEFycmF5WzMyXTsKIAotICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgVGV4dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4
dENvZGVjKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRl
eHRDb2RlYygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBT
dHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9
IGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9u
dFRyYW5zY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFu
c2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAj
ZGVmaW5lIEZvbnRUcmFuc2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
SGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsK
IAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9u
dFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5n
JiB0ZXh0LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkg
Y29uc3Q7CiAgICAgYm9vbCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYs
IGNvbnN0IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vd2luL0NsaXBib2FyZFdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJk
V2luLmgKaW5kZXggY2U2NGI4NS4uMmQxNDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vQ2xpcGJvYXJkV2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJk
V2luLmgKQEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBh
dmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bh
c3RlCiBjbGFzcyBDbGlwYm9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBj
bGlwYm9hcmRUeXBlLCBJRGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9s
aWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAg
LTMxLDEzICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFz
cyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAg
ICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVy
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNv
cmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5EYXRhYmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBh
Y2thZ2VIYXNoPiBQbHVnaW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisr
KyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcg
KzM2LDggQEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgdHlwZWRlZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luVmlldy5oCmluZGV4IGRlYWVjOTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAt
OTMsNyArOTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xv
YWRlZFN1Y2Nlc3NmdWxseQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVl
c3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5
RGF0YSwgYm9vbCBzaG91bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRS
ZXF1ZXN0KGZyYW1lTG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9D
b2x1bW5JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYx
OS4uZGI5NDc4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1u
SW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygp
CiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL0NvdW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5o
CmluZGV4IDUyOWQ0MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMs
NyArMjMsNiBAQAogI2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CiAKIC8vIFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQg
Zm9yIGZpbmRpbmcgcGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRT
dGF0ZS5oCmluZGV4IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL0xheW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApA
QCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNp
emUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94
OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TGF5b3V0U3RhdGUpOwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2Ns
aXBwZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBS
ZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01h
eFJlY3ljbGVkU2l6ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
bmRlckFyZW5hKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJB
cmVuYSh1bnNpZ25lZCBhcmVuYVNpemUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaApAQCAtMzU0LDcgKzM1NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZl
ckhhZExheW91dDsKICAgICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29w
eWFibGUgeworICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZsb2F0aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBw
dWJsaWM6CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVz
ZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0Lgog
ICAgICAgICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRC
b3RoID0gMyB9OwogCkBAIC02ODEsNyArNjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hN
b2RlbE9iamVjdCogbV9jb250aW51YXRpb247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkg
d2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0
cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5k
ZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxv
Y2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAg
ICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdh
dGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVs
dChibG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAg
ICwgbV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmNwcAppbmRleCAxNDNjNzJjLi40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBk
b3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRl
ZiBwYWlyPFJlbmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVN
YXBLZXk7CiB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFz
dFBhaW50U2l6ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBz
aG91bGRQYWludEF0TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9i
amVjdCosIEltYWdlKiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIHN0YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4
aXMoKTsKICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNo
ZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAi
U3R5bGVJbWFnZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNv
dXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNl
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4u
Y2FkODQ1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcg
KzUzLDggQEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9u
ZSBSZW5kZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3Np
dGVkLgogCi1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNs
aWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1
YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5k
ZXJMYXllckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJl
bmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmco
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1
dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVu
ZGVyTWFycXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVy
Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJm
bG93LmgKaW5kZXggMjUzYTY3Mi4uMzFlMDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT3ZlcmZsb3cuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxv
dy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2
aXN1YWwgb3ZlcmZsb3cgYXJlIHNoYWRvd3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBv
dXRsaW5lIGFuZCBib3JkZXItaW1hZ2UpLgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQg
b25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGlu
IHRoZSBvd25pbmcgYm94LgotY2xhc3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUmVuZGVyT3ZlcmZsb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
bmRlck92ZXJmbG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5k
ZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAg
ICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2Yg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0z
Niw3ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRh
IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0lt
YWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9u
SW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEw
OWZjMWEuLjIzYjVlNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVj
dGlvbkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgK
QEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJT
ZWxlY3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxl
Y3Rpb25JbmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9u
SW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNl
bGVjdGlvbkluZm9CYXNlKCkKICAgICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCmluZGV4IDA3ZjkzM2YuLjEzM2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1
NCw3ICsyNTQsOCBAQCB2b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAog
Ly8gU3RhY2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AK
LWNsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBMYXlvdXRTdGF0ZU1haW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91
dFN0YXRlTWFpbnRhaW5lcik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAg
IExheW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3Qs
IEludFNpemUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdo
dCA9IDAsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5m
byA9IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0
b3IuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4
ODMwNGMuLjhiZjZhYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dFByb3RlY3Rvci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rv
ci5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVu
ZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJpdmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJX
aWRnZXRQcm90ZWN0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFBy
b3RlY3Rvcik7CiBwdWJsaWM6CiAgICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdl
dCogb2JqZWN0KQogICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NW
R0ltYWdlQnVmZmVyVG9vbHMuaAppbmRleCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFC
TEUoU1ZHKQogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBG
bG9hdFNpemU7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAK
LWNsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1ZHSW1hZ2VCdWZmZXJUb29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VC
dWZmZXJUb29scyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIo
Y29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xh
bXBlZEFic29sdXRlVGFyZ2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2Up
OwogICAgIHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVy
KiwgUmVuZGVyT2JqZWN0KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBF
TkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtl
ckRhdGEuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC00Miw3ICs0MSw4IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmlu
ZVRyYW5zZm9ybSBtYXRyaXg7CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR01hcmtlckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01h
cmtlckxheW91dEluZm8oKTsKICAgICB+U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9T
VkdSZXNvdXJjZXMuaAppbmRleCA0OTU5MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNv
dXJjZXMuaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4
IEBAIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7
CiAKIC8vIEhvbGRzIGEgc2V0IG9mIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJP
YmplY3QKLWNsYXNzIFNWR1Jlc291cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdSZXNvdXJjZXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFz
cyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3Mg
U1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4z
NDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgK
QEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNl
c0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNv
bHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0
KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxl
TGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVm
aW5lIFRhYmxlTGF5b3V0X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFRhYmxlTGF5b3V0KFJlbmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3Rh
YmxlKHRhYmxlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZm
YzZlYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAK
ICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAi
VHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRy
YW5zZm9ybVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAg
ICAgZW51bSBUcmFuc2Zvcm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5h
cHBseUludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3Vt
dWxhdGlvbiB7IEZsYXR0ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJm
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcg
KzM4LDggQEAgY29uc3QgaW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQg
UG9zaXRpb25Cb3R0b20gPSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVk
ID0gMHg4MDAwMDAwMDsKIAotY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVmVydGljYWxQb3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNh
bFBvc2l0aW9uQ2FjaGUoKQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ29udGVudERhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRh
LmgKaW5kZXggNGY5NjRhMi4uZjIzZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ29udGVudERhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50
RGF0YS5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5
bGVJbWFnZTsKIAotc3RydWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENv
bnRlbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6
IG1fdHlwZShDT05URU5UX05PTkUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9Db3VudGVyQ29udGVudC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRl
bnQuaAppbmRleCA1Mjc1N2FkLi5kZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9Db3VudGVyQ29udGVudC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Nv
dW50ZXJDb250ZW50LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBDb3VudGVyQ29udGVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENv
dW50ZXJDb250ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHls
ZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1f
aWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRl
eCA0OWZiMjk0Li5jNmVlNTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9G
aWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAt
NTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07
CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxM
YXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5
ZXIoRUZpbGxMYXllclR5cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1NoYWRvd0RhdGEuaAppbmRleCBjYTgzYWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAog
CiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7
IE5vcm1hbCwgSW5zZXQgfTsKIAogLy8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJv
dXQgc2hhZG93cyBmb3IgdGhlIHRleHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMu
CiAKLWNsYXNzIFNoYWRvd0RhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFk
b3dEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRv
d0RhdGEoKQogICAgICAgICA6IG1feCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
Q2h1bmtCdWlsZGVyLmgKaW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBT
VkdUZXh0RnJhZ21lbnQ7CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNo
YXJhY3RlciBsYXlvdXQsIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNo
YXJhY3Rlciwgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRG
cmFnbWVudCkuCiAvLyBQaGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0
IGhhdmUgdG8gYmUgYXBwbGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1h
bmNob3IgJiB0ZXh0TGVuZ3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0
Q2h1bmtCdWlsZGVyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWls
ZGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVz
QnVpbGRlci5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBj
cmVhdGUgdGhlIElubGluZUJveCB0cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAm
IEJpRGkgaW5mb3JtYXRpb24uCiAvLyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVk
IG91dCBieSBTVkdUZXh0TGF5b3V0RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0
dHJpYnV0ZXNCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0
QXR0cmlidXRlc0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVz
QnVpbGRlcigpOwogICAgIHZvaWQgYnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUo
UmVuZGVyU1ZHVGV4dCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRMYXlvdXRFbmdpbmUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5n
aW5lLmgKaW5kZXggYWQwNThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dExheW91dEVuZ2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0
eWxlOwogLy8gUmVuZGVyU1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmlu
YWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0
aGUgU1ZHSW5saW5lVGV4dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5l
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAg
IFNWR1RleHRMYXlvdXRFbmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xh
eW91dEJ1aWxkZXIoKSB7IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4
IGQ3NTNiMzkuLmFjMzkzZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJM
RShTVkcpCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBj
bGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIg
Y2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJh
c2VsaW5lJyAvICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFz
cyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlv
dXRFbmdpbmVCYXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcw
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVT
cGFjaW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVT
cGFjaW5nLmgKQEAgLTMwLDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBT
VkdFbGVtZW50OwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5l
IHRvIGhhbmRsZSAna2VybmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5n
Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4
dExheW91dEVuZ2luZVNwYWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgK
aW5kZXggYjYxZTQ2NS4uY2UwYmE0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFi
YXNlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyAr
NDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50
aWwgRGF0YWJhc2VUYXNrIGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBE
YXRhYmFzZVRhc2s6OmNyZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFz
cyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RGF0YWJhc2VUYXNrU3luY2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRh
YmFzZVRhc2tTeW5jaHJvbml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9u
aXplcigpOwogCkBAIC02Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNz
IERhdGFiYXNlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0Rh
dGFiYXNlVHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNs
aWVudDsKIHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0o
Q0hST01JVU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFi
YXNlVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgaW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAg
IHN0YXRpYyBEYXRhYmFzZVRyYWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2Uv
SURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgK
KysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAt
MjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQ0LDcgKzQzLDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlOwogLy8gRklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8g
VExTLiBLZWVwaW5nIGl0IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBw
b3J0IGZvciB3b3JrZXJzLiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVw
IHRoZSB2ZWN0b3IgaW4gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5k
aW5nVHJhbnNhY3Rpb25Nb25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBl
bmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBl
bmRpbmdUcmFuc2FjdGlvbk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBl
bmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBz
dGF0aWMgdm9pZCByZW1vdmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFz
ay5oIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40
NjcyMDQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAg
IC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExv
Y2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3Rv
cmFnZVRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlw
ZSB7IEFyZWFJbXBvcnQsIEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVU
aHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVh
ZC5oIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEu
LjI0ZmUxOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQu
aAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQw
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAK
ICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNs
YXNzIExvY2FsU3RvcmFnZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
TG9jYWxTdG9yYWdlVGhyZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxT
dG9yYWdlVGhyZWFkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAg
ICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9P
cmlnaW5RdW90YU1hbmFnZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIu
aAppbmRleCBlYzk2MjBjLi5hYzI4YTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3Jp
Z2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdl
ci5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0
RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFN
YW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRp
cGxlIHRocmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJn
dW1lbnRzIGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxl
ciB3aGVuIG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShPcmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgT3JpZ2luVXNhZ2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdl
L1NRTFRyYW5zYWN0aW9uQ2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25D
bGllbnQuaAppbmRleCBmZWQwNjU3Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25DbGllbnQuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNDEsOCArNDAsMTAgQEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQg
dG8gdGhlIFNRTFRyYW5zYWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90
aWZ5IGludGVyZXN0ZWQKIC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBl
bmVkIGluIGEgdHJhbnNhY3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBk
aWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRp
ZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVk
UXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NR
TFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlv
bkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNR
TFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CisgICAgICAgIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAg
ICAgdm9pZCBhY3F1aXJlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVh
c2VMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVk
RWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAot
Y2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9j
dW1lbnRFeHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0
eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1l
bnRzOwogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjks
NiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVu
dHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBt
X3Jlc291cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9
KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBI
YXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNv
dXJjZXMsIGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVj
dCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVE
YXRhLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0z
MSw3ICszMCw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50Owog
Y2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJz
b3JFbGVtZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2Vi
Q29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRh
LmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdG
b250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZp
cnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRo
QmxlbmRlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43
MjllZDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dl
YkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJM
RShTVkcpCiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNv
dXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFNWR1BhdGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR1BhdGhCbGVuZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNv
cmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRl
U3RyZWFtX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTQzLDcgKzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRl
c1tzaXplb2YodW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNz
IFNWR1BhdGhCeXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhC
eXRlU3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9z
dmcvU1ZHUGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRl
eCBiN2M1ZTczLi40ZDU3ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3Vt
ZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzks
MTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAK
LWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQ
YXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAg
ICAgdmlydHVhbCBib29sIGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5o
IGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25z
dW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNl
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNvdXJjZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNm
NGNkMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJD
b3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTVkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291
cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNl
KCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBi
b29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZH
Vmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYw
Y2NiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3Jl
L3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBw
dWJsaWMgU1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNW
R1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3Zn
L2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGll
bnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1
YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1h
Z2VDaHJvbWVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNW
R0ltYWdlQ2hyb21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGlt
YWdlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFz
cyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0
aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6
CiAgICAgUmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgK
aW5kZXggMDViMzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1Ro
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VC
X1NPQ0tFVFMpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbCgpIHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGll
bnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFs
IHZvaWQgY29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJT
b2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmlu
ZGV4IDljNTIzNzcuLjE5NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJT
b2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
aApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29j
a2V0Q2hhbm5lbENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNs
aWVudCwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwo
Y29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2Vi
U29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmlu
ZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJT
b2NrZXRIYW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNo
YWtlLmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAj
aW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tl
dEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAK
LSAgICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdlYlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewog
ICAgICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
LmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
aAppbmRleCAzNjZlNGZhLi5hYzgzZThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMv
V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tl
dHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBj
bGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdv
cmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2Vy
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250
ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0
IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2Nv
bCkKICAgICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8g
R2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQg
aGF2ZSBpZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1Ymxp
YyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9h
ZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYg
dGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
aAppbmRleCAyMWUxNGExLi42OGY5NjI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVm
YXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50
YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAg
ICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2Ug
dGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0
aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5
JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQ
YXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5k
ZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyAr
MTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsg
cmV0dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0
byBiZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4K
LSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBPYnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZl
cik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQq
KTsKICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2Vy
TG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAg
Y2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBw
dWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBX
b3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtl
ckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2Fn
aW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
V29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNw
cAppbmRleCA4M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyUnVuTG9vcC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBA
IC0xMDQsNyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAg
ICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFJ1bkxvb3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3Am
IHJ1bkxvb3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxv
b3AuaAppbmRleCA5ZDRlZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyUnVuTG9vcC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAg
LTY1LDcgKzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJp
bmcgZGVmYXVsdE1vZGUoKTsKIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAg
ICAgICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUu
LjRhYTlmODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisr
KyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAj
aW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRl
ICJEYXRhYmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFk
Ojp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0
cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3Jr
ZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhy
ZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RD
b3VudGVyKCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVz
dFN0YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3Rh
dGljRGF0YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBt
X3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VE
ZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwg
cHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAg
IH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNz
aW9uTm9kZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0
NWIuLjZhNzNiODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUu
aAorKysgYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAg
Ci0gICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAg
ICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBu
b2RlOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAg
ICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNv
bnRleHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQ
YXRoTm9kZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4u
ZDg5N2RhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2Vi
Q29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAg
IE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxz
ZSkgeyB9CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2Vy
LmggYi9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBh
dGhQYXJzZXIuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICBUb2tlbihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7
fQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYXJzZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAg
ICAgICAgICAgIH5QYXJzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGlj
YXRlLmggYi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFi
Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29y
ZS94bWwvWFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBj
bGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVk
aWNhdGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGlj
YXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXgg
ZWMwMjJiMy4uZjc3MGQ5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysr
IGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNs
YXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGlj
OgogICAgICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMs
IEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9
OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgICAgIGVudW0gS2luZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29t
bWVudE5vZGVUZXN0LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3Qs
IE5hbWVUZXN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJD
b3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9y
dFJ1bGUuaApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNo
ZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFz
ZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVh
dGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7
CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBi
NmViYTIxLi4zYTZjZGQ2IDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGgg
IDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFz
ZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1
bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdl
IE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhl
aXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vz
c2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXpl
ZC50eHQ6IFVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVj
dC5oCmluZGV4IDc2OWU4M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvQm91bmRPYmplY3QuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgK
QEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2
OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogLy8gQm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2
YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0
IHNob3VsZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3Mg
Qm91bmRPYmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3Qgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3Vu
ZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNv
bnN0IGNoYXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEu
LjU5YzIxNzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1h
bmFnZXIuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
Y3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVk
ZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdl
bnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3Bh
Y2UgewogCi1jbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnRE
YXRhLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGlj
IHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVy
SWRXcmFwcGVyKTsKIHB1YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNN
YW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRX
cmFwcGVyKGludCBjYWxsZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1h
bmFnZXIuaAppbmRleCA2NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9E
ZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVi
dWcuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBs
OwogLy8gd291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVy
ZSBpcyBubyBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVz
c2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3Ro
ZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dl
ckFnZW50TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50
TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIp
OwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBs
KiBkZWJ1Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFn
ZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAg
LTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAog
I2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5k
SG9zdDsKQEAgLTQ0LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZU
b29sc0Zyb250ZW5kQ2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNs
YXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0
b3JGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVi
bGljIE5vbmNvcHlhYmxlICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBw
dWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250
ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZU
b29sc0FnZW50SW1wbC5jcHAKaW5kZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNp
bmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5o
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2
NmExY2IuLmIwODUzMzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9v
bHNGcm9udGVuZEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJv
bnRlbmRJbXBsLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0
IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBX
ZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRl
bmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9v
bHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVu
ZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBX
ZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmNwcAppbmRleCBhZGFhYjYxLi5jMDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwCkBAIC0yNzksNyArMjc5LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2Vi
RnJhbWVJbXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBT
aW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNv
bWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92
ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENv
bnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
Q2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmlu
dENvbnRleHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlm
ZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uNGZkNDJhNiAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcgQEAg
c3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBvcHVw
TWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNz
U2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291
bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAt
LWdpdCBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ckVmbC5oIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyRWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3
LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAg
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5o
CisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ci5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1
YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3Bw
CmluZGV4IDE4YjY0YWIuLmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdGRvd25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5j
cHAKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5j
bHVkZSAiR1JlZlB0ci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1
ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8g
aXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlh
YmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQg
OiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERvd25sb2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdl
YktpdERvd25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRl
cnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9O
b25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAw
MDAwCi0tLSBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25j
b3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2Fw
ZVBsdWdpbkluc3RhbmNlUHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0t
IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
aAorKysgYi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eS5oCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZh
bHVlRnJvbUFycmF5KEpTQzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXIm
IGluZGV4LCBKU0M6OkpTVmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMo
SlNDOjpFeGVjU3RhdGUqLCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJf
dCB2YWx1ZXNMZW5ndGgsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAg
ICBjbGFzcyBMb2NhbE9iamVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9i
amVjdE1hcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9i
amVjdE1hcCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbSBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGll
bnQubW0KaW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9y
YWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2Uv
V2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNl
VHJhY2tlckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNz
IERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9k
aWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2lu
RGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2Vi
RGF0YWJhc2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAg
ICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJL
aXRfcGNoLmgKaW5kZXggMWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dl
YktpdF9wY2guaAorKysgYi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBA
CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxv
Yy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQ
YXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vQ09NRW51bVZhcmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRl
eCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50
LmgKKysrIGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAK
ICNkZWZpbmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMg
SUVudW1WQVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQg
OiBwdWJsaWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVt
VmFyaWFudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250
YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShj
b25zdCBDb250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5
QmFnLmggYi9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2
NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93
aW4vQ09NUHJvcGVydHlCYWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFY
DQogI2luY2x1ZGUgPHVua253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4N
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRl
ci5oIg0KIA0KIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9
IHR5cGVuYW1lIFdURjo6U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6
U3RyaW5nSGFzaD4NCi1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcs
IHB1YmxpYyBJUHJvcGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlC
YWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVk
ZWYgSGFzaE1hcDxLZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiAN
CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dl
YktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4
ODggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisr
KyBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAy
LDggQEAgcHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBG
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVs
bHNjcmVlbkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsK
IHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXIuY3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmlu
ZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VN
YW5hZ2VyLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUy
LDcgKzUyLDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NU
UiBzMikKICAgICByZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURl
dGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlC
YWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFn
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0
ZUluc3RhbmNlKGNvbnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFi
YXNlKAogICAgIHJldHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0
YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJh
c2VNYW5hZ2VyLCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4
IDA1M2E1OTMuLmNkMzI0YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgK
KysrIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVm
aW5lIFdlYkluc3BlY3Rvcl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDog
cHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9y
LCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdlYkluc3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRl
SW5zdGFuY2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXph
YmxlU3RyaW5ncy5jcHAgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5k
ZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJs
ZVN0cmluZ3MuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApA
QCAtNzIsNyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0
cmluZ3MoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3Ry
aW5nKENGU3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlm
ZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2Ny
aXB0V29ybGQuaAppbmRleCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L1dlYlNjcmlwdFdvcmxkLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0z
MSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29y
bGQ7CiB9CiAKLWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJs
aWMgSVdlYlNjcmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJT
Y3JpcHRXb3JsZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwog
cHVibGljOgogICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAg
IHN0YXRpYyBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNl
cmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFs
aXplZEpTVmFsdWUuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNW
YWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwg
cHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXpl
ZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlh
bGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFs
aXplZEpTVmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpT
VmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVy
bi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBh
dHRlcm4uaApAQCAtMzIsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VXNlckNvbnRlbnRVUkxQYXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRl
cm4gOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
IHsKK2NsYXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVS
TFBhdHRlcm4pOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0
aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0
aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJn
ZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCiAyMDEwLTExLTIyICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVc2UgcGF0aHMgcmVsYXRpdmUgdG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0
byBhY2Nlc3Mgc2hhcmVkIC52c3Byb3BzIGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
QmluYXJ5U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxh
dGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRl
ZiBCaW5hcnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMu
aD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9N
b2R1bGUuaCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNj
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1Bs
YXRmb3JtL01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVm
aW5lIE1vZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDgg
QEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7
CiBwdWJsaWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIv
UGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3Jt
L1NoYXJlZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9o
CiAjZGVmaW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAKQEAgLTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9Owog
Ci0gICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAg
ICBIYW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMz
LDYgQEAKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5o
IgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAt
LWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBX
ZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOwogICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRp
YyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQv
Q2hpbGRQcm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZl
MWY0Li44YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAor
KysgYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAj
ZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGls
ZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hp
bGRQcm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9T
aGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2
ZXIuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVy
LmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRl
IDxXZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQy
L1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVO
QUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJl
ZC9TYW5kYm94RXh0ZW5zaW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1Nh
bmRib3hFeHRlbnNpb24uaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5z
aW9uX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRp
Y2F0b3JXaW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldp
bmRvdy5oCmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IEZpbmRJbmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAot
I2ltcG9ydCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgog
I2ltcG9ydCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMy
NjVmMmUyLi4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsK
QEAgLTQxLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNz
UHJveHk7CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5h
Z2VyIDogTm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3
ZDg5Ni4uOWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4v
UGx1Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dp
bi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmlu
Zz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJl
Y3RvcmllczsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBQYXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsK
IHB1YmxpYzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dl
YktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4
ZDViIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgK
KysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyAr
MzEsMTMgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAK
LWNsYXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVk
TGlua1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3Zp
ZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRl
eHQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFj
YTguLjhiMDAzMzMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWQuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAg
LTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3
ICs1NCw2IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJ
UEM6Ok1lc3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
b3dubG9hZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3Jl
YXRlKHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYp
OwogICAgIH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25s
b2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWRNYW5hZ2VyLmgKaW5kZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAj
ZGVmaW5lIERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xh
c3MgUmVzb3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvbnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyAr
MzksOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAg
ICAKIC8vIE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0Lgot
Y2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3Mg
TlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TlBKU09iamVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1
bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5o
CisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
TWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQog
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNv
bm5lY3Rpb25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAg
ICAgCi1jbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQz
Mzk4NGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9s
bGVyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApA
QCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFn
ZU92ZXJsYXkuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgg
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2
Li5hZTZjNzE5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3IuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApA
QCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKaW5kZXggODI0YjcxNy4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDEwLTExLTIzICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhl
IE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGlu
ZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2Vy
IChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZh
c3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVt
b3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRl
cy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1v
dmVkLgorCiAyMDEwLTExLTE4ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMs
NyBAQAogCiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+
CiAKLSAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0
IGNhdXNlZCB0ZXN0c8KgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29t
bWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8Ig
dG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05v
bmNvcHlhYmxlLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVy
cy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRk
Mi4uMDAwMDAwMAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJk
MzZkNTggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0Nw
cEJvdW5kQ2xhc3MuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9D
cHBCb3VuZENsYXNzLmgKQEAgLTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAg
LTU4LDcgKzU3LDggQEAgdHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0
OwogCiAvLyBDcHBCb3VuZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxs
cyBhbmQgcHJvcGVydHkgYWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMg
YW5kIENwcFZhcmlhbnQqIHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ3BwQm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlD
YWxsYmFjayB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0Yzcg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRv
b2xzQWdlbnQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRE
ZXZUb29sc0FnZW50LmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5j
bHVkZSAiV2ViRGV2VG9vbHNBZ2VudENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBA
IC00OSw4ICs0OCw4IEBAIHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBE
UlREZXZUb29sc0NsaWVudDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJL
aXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6
OldlYkRldlRvb2xzQWdlbnRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERl
dlRvb2xzQWdlbnQpOwogcHVibGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0
dWFsIH5EUlREZXZUb29sc0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAz
MGQ2ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RS
VERldlRvb2xzQ2xpZW50LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJURGV2VG9vbHNDbGllbnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERl
dlRvb2xzQ2FsbEFyZ3MuaCIKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9v
bHNGcm9udGVuZENsaWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBA
IGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERl
dlRvb2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAot
ICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJU
RGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6
CiAgICAgRFJURGV2VG9vbHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmll
dyopOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIu
aCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29u
dHJvbGxlci5oCmluZGV4IGI2NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJv
bGxlci5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2
aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJv
bWUKIC8vIHZlcnNpb24gYXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xs
ZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBw
dWJsaWM6CiAgICAgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAg
ICAgflRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgz
MWQ5Li45NjE4ZGM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNp
bmNsdWRlICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0
eS9za2lhL2luY2x1ZGUvY29yZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIC8vIFNraWEgZm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1j
bGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2Vi
VGhlbWVDb250cm9sRFJUIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRy
b2xEUlQpOwogcHVibGljOgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJv
cnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQg
aXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNv
IHRvIG1pbmltaXplCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURS
VC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5n
aW5lRFJULmgKQEAgLTQ4LDkgKzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAog
CiAjaW5jbHVkZSAid2luL1dlYlRoZW1lRW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhl
bWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6
IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJUaGVtZUVuZ2luZURSVCk7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7
fQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBi
L1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMx
NzE4MTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5o
CisrKyBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSAr
MjYsMTAgQEAKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsK
IAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2lu
ZG93IHsKIHB1YmxpYzoKICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9X
ZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2Qu
LmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250
cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIu
aApAQCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAot
Y2xhc3MgVGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3Rz
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2Vi
S2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2Eu
LjIzNmNjMWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmgKQEAgLTI3LDExICsyNywxMCBAQAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNp
bmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdElu
dm9jYXRpb24oY29uc3QgY2hhciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74660</attachid>
            <date>2010-11-23 07:15:17 -0800</date>
            <delta_ts>2010-11-23 07:55:37 -0800</delta_ts>
            <desc>playing with EWSs round #2</desc>
            <filename>kedd4.patch</filename>
            <type>text/plain</type>
            <size>327146</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRm
NmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgU2F0aXNoIFNhbXBhdGggIDxz
YXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgg
Yi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZX
RF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggODVkYjZmZC4u
OTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU1OCwx
MCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJ
CQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi5iMmFjODY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAg
c3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91
c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3Jp
cHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNo
ZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRleCA0YzI1NDA3
Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwx
MiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmll
bmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9v
a3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
ICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1
Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyBy
ZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdp
Y2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdX
cmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVn
V3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFy
ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4
IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAg
IHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHku
IFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2
YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUo
SlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1Li4y
NzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRv
dzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4g
PiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBm
cmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7
CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+
V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5j
b250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBA
CiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0g
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxlcihXb3JrZXJDb250ZXh0
Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
CmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC00Myw3ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJlYWQuICBUaGUgRE9NRGF0YSBm
b3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3IgY2hpbGQgdGhyZWFkcwogICAg
IC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERPTURhdGEo
KTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0xNDksNyArMTQ4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMg
bWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YVN0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3RvcmUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01Ob2RlTWFwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQy
ZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAiT3duSGFuZGxlLmgiCiAjaW5j
bHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAg
ICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1j
bGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jp
cHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2
ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBiNzVhMDU0Li5lMDk2OWUxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNp
bmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRT
dGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRp
dGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi5kYzI0NzEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3Mg
UGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1
YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0Vt
cHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNl
cHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgp
IHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShz
Y3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAog
Ly8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMg
YW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRl
IHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAg
ICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0
ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBA
QAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRp
bmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhv
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJh
bWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2FkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
cmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9C
cmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDgg
KzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3Mg
Q2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAg
ICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3Qg
SWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZp
ZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0
IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDgg
QEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0
OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQ
YXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaApAQCAt
MzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5o
CmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcg
QEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENT
U0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VW
YWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLjczZjJhY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4u
MDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFt
ZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0
b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93
blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMWRhMjBiNy4uOTcyZjc3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5k
U2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNz
IENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Bh
cnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyAr
ODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7
CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAgICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVM
aXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENT
U1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50
IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFs
c2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAg
OiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7
IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0YWFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0
LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsK
IAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVs
ZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9y
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1NlbGVj
dG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMw
Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lmaWNpdHlG
b3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsK
IAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJlRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJh
cmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAgICAgICAg
ICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApp
bmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3
LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rv
ckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1NlbGVjdG9y
TGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZmM2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7
IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4xM2ZjOTdlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1j
bGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQo
Y29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHBy
ZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlz
IGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9u
IGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3Vt
ZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVk
RWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBh
Z2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdy
b3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1
cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hl
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBi
b29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyArMzE4LDggQEAgcHVibGljOgogICAgICAg
ICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5
UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1Nl
bGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3Np
dGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgICAgICA6IG1fZmlyc3Qo
bmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRleCAyODEwMDliLi43
ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gUmVz
dHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9uZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hh
cmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhl
IGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2Jh
YmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkg
c2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3Ig
ImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICsz
OCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAK
LWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRp
YVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1
ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAg
Yi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFz
eW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBD
YWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAg
ICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsK
KyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBj
YWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYo
KXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5o
CmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBA
IGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVu
dDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3lu
Y1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5
bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
IGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvV2ViQ29yZS9kb20vRE9N
U3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3
ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGlu
dCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01T
dHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwg
fkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODNiYTg4NS4uODQxYmIyNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAg
ICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29u
dGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1l
bnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRv
Y3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4uNTBlYzg4MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7
IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5o
IGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVkMzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYg
KzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVudF9oCiAKKyNpbmNsdWRlICJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zMSw4ICszMiw2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKLQogICAgIGNsYXNz
IEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+IHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAvLyBl
bmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBFdmVudE5hbWVzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMTRk
OTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFu
bmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAK
QEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBw
b3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNz
IEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0
YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFz
c093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAg
ICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAg
cHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzogICAgCiAg
ICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3RhYkluZGV4KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgK
aW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBA
QCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFt
ZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxR
dWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJl
YjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNj
cmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVt
ZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgy
YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysg
Yi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKKyAg
ICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
PSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBz
byB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUg
Y29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAg
LTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU3BhY2VT
cGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0
cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
U3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uo
c2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5o
CmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsy
Myw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQ
bGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBE
ZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVy
ZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGlj
YXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwog
cHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJu
IHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1
cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHBy
b2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxl
bWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2My
Li5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisr
KyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6
IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMyODVmLi42ZWRlNzg2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAg
ICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsK
ICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQxOTMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFhNTERvY3VtZW50UGFy
c2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKFhTTFQpCiAjaW5jbHVkZSA8bGlieG1s
L3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVu
dFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApp
bmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlw
ZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9
OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVw
bGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVu
dEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50
KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRG
cmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29y
ZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAi
VmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0
aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlv
bk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rp
b25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxl
ZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTlj
NzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBA
IHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNz
IFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hl
Y2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBl
cik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NS
ZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVw
cyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhl
IGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMg
ZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYg
PGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJp
bmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQu
aApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQg
c3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4u
MTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkg
cG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
cGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhh
dCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxs
ZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVy
LmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4u
MDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmls
ZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0Nh
bGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBl
bmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxs
YmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJl
c3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlw
ZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmlu
ZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9s
bGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
ICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3Rv
cnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NS
ZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAot
ICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUq
IHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZh
Li5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysr
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rpb25DYWNo
ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uZTE1MDczMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tl
bkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLmUwZGJj
YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2Vw
YXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVj
dCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBFdmVudEhhbmRs
aW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmVm
UHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWlu
YXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQ
YXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBk
ZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3Mu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQog
ICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2Zh
Li5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNs
YXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0
eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBv
c2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8g
Y2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBl
PiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4x
ZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdl
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAot
Y2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29s
IGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4
IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3Mg
VmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlv
bk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApA
QCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCBhMjVlOGExLi4xNGY1YTBhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBA
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7
CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZp
cnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVs
b2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGlj
OgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1Ymxp
YzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rp
b25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQq
IGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhU
TUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDog
bV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRl
eCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZkNDExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVu
dFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNz
IFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2Fy
ZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJk
IChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1l
bnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNrKCk7CiAgICAgfkhUTUxF
bGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIH5FbGVtZW50UmVj
b3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5mNzVm
YTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVu
dExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50
OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNs
YXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBhNzA5YmQ5Li42NDJlNDM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0
ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRo
ZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAi
bGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAgICAgICA6
IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjksOCBAQCBwcml2YXRlOgogICAgIFNlZ21l
bnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0U3RyZWFt
KQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBA
CiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFz
cyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
UGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2No
ZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3Mg
U2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAi
TmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmlu
aXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBl
bmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgog
ICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxz
ZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBz
aG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8g
ZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1j
bGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWlj
SFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwog
cHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6
IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4
IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVu
dGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFz
cyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAg
ICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAg
ICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBj
bG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAK
LWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVy
VG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQo
dG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAg
ICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtl
SW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxk
ZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5z
ZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWls
ZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1
aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRl
eCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0Lmgi
CiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1
bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTFRva2VuaXpl
ciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywg
Ym9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDMsNyArMjAzLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFu
ZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWln
bkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJh
Z21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVs
ZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaApAQCAtMjgs
NyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIodW5zaWdu
ZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25lc3RpbmdMZXZlbCgmbmVzdGluZ0xldmVs
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlw
dENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwog
Ci1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25z
b2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5z
aWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBj
ZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0
LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3Bl
Y3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxl
ciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAg
ICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlkOS4uZjljMTA0MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25z
ZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+ID4gRE9NU3RvcmFnZVJlc291cmNlc01h
cDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5NTAx
YWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2
ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3Bl
Y3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmlu
ZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3
ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwog
ICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFw
U25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxl
ckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKik7CiAgICAg
dmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUwMjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51
bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxp
bmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBT
Y3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBTY3JpcHRDYWxs
U3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQu
LjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNs
YXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAg
ICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAot
ICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsK
IAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVk
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2
YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgIH0K
ICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzgzLDgg
KzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxG
cmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNsaWVu
dCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1
YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlD
b250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
RW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4dE1l
bnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVkKCkg
eyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShDT05U
RVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0Ns
aWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6Cisg
ICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9pbnQm
LCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAsMTAgQEAgcHVibGljOgogfTsKICNlbmRp
ZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6
IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4
IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1
bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZp
Z2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9u
KGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0
LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBt
X2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCmluZGV4IDE0MDBj
MjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNj
aGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlv
blNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtMzQsNyAr
MzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0
byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFz
IHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwg
dGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgot
Y2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBA
IC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5
YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0
aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlh
bFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0
aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29w
eWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1LDggQEAgY2xh
c3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsK
IAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBy
b2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIo
KTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9S
ZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKaW5kZXggYjZkZTMxMi4uOTZmN2Ix
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAK
LSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1
ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNl
TG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNr
UG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcw
NDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2Fk
Tm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9h
ZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmll
cik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQy
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1Ymxp
YzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2
ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhv
c3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDEx
ZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIu
IEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJh
bWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1
YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxl
TG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90
IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0
aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAog
ICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRh
YmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VF
cnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVM
b2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2Vu
dCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAg
LTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAK
ICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3Vw
LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAppbmRl
eCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBk
YXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29u
dGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlh
YmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAg
OiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGlj
YXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5
ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li42
NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9z
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUg
U3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAg
ICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwog
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAg
ICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAor
KysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApA
QCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgUmVxdWVzdDsKIC8vIEEgcmVzb3VyY2Ug
dGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBv
YmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0
IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZl
ZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRo
IHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xh
c3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJp
ZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBA
CiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3Zlcmxv
YWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsg
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBm
MzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJM
OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBz
Y3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBD
YWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hl
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2
YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1v
cnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRo
aXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1l
bW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNo
ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4
IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1j
bGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0
YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAg
ICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVm
aW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhv
ZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3By
aWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJh
c2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBw
ZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFl
YmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxv
YWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRl
KEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNv
bi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBp
Y29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJM
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVj
b3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
aW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNs
dWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNv
dXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBj
bGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0K
ICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxi
YWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEz
MDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYg
KzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAK
ICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRl
KGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlm
aWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92
aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4
NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNv
bnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51
Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRN
ZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAg
ICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFn
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRy
b2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0
ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJh
cnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSop
OwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRs
ZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdT
dGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhh
bmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8g
ZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2Ug
Z2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2Ry
YWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
dmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMuLjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgog
I2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4
ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZy
YW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhp
c0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZl
cnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGlt
dW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25l
IGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0
c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVk
dWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVs
ZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9k
ZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5k
ZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFz
cyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9s
bGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0
dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBh
Z2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRp
bmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApp
bmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNj
cmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3Jv
dXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
UGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERl
ZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41YjcwNzIzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFs
dGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhh
bHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVy
KFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4
dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0
aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5k
ZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5w
dXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJl
cXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVj
aCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBl
bGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZv
ciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0
cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNo
SW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6
CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVl
Y2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5o
CkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNj
cmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1
cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0
LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0
eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyAr
MzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
d2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9y
LmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxk
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2Ny
aXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVz
ZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3Mg
WFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAg
ICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFz
ZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0
eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3Bl
cnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBl
ckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb3BlcnR5V3Jh
cHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00MzgsNyArNDM5
LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
QmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBl
ckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGlj
OgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0
ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3
MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFu
aW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApp
bmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1
cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9
CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2
ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAg
ICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRl
eCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNG
aWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFj
ZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3Rl
IHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0Zp
bGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAg
IHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBA
IGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBG
aWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4g
YSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmly
dHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0
b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApA
QCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRv
ZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBf
X09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFz
cyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRv
ZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29s
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgog
ICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2Ry
YWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51Lmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0
TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDog
cHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uMTEyNjU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENv
bnRleHRNZW51SXRlbShQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaAppbmRleCA0N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0
ckxpc3RfaAogCiAjaW5jbHVkZSAiRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8
Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBs
KGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0
KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1
ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17Citj
bGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJl
Y2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVw
cmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZl
bnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9v
cCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2Vu
ZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2
NS4uZDYwYWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3
ICsyNiw3IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0
aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3
dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJl
ZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZp
Y2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAg
IHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGll
bnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2lu
ZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2
LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAog
ICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBj
b250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVy
d2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZv
aWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLmM0MjlhNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIs
NyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25z
dCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZv
ciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNl
bnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBM
ZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDAp
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li40OTZmYmIzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgx
LDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291
cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9I
ZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li42YTM2MzE5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDgg
QEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAg
ICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwg
Z3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNz
ZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgK
aW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJn
ZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBA
IC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUg
IlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGlt
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhj
NTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZp
bmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAK
LWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVu
TG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFz
ZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1
bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWly
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZv
cm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xh
c3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFy
VGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAg
IHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQo
U2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0
Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4u
MTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZu
ZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhy
ZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGlt
cGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQg
YnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1
c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hh
cmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU2hhcmVkVGltZXIoKSB7IH0KICAgICAg
ICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rmly
ZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTQ1LDcg
KzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFw
cGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNsYXNzIFRocmVhZEdsb2JhbERh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9iYWxEYXRhKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAgICAgflRocmVhZEdsb2JhbERh
dGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBUaHJlYWRUaW1l
cnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFz
ZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBU
aHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQw
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5l
IFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVy
QmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJl
ZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
cmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNv
dW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXgg
OWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlv
bkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25M
aXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlv
bkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4YjgxLi4zOThlMTI3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gK
IAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJl
cHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBtb3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBU
aGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bwb3NlZCB0byAiaW50ZXJsZWF2ZWQiLgog
Ly8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBpcyBtb25vLCBhbiBBdWRpb0J1cyB3aXRo
IHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNsYXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIENoYW5uZWxMZWZ0ID0g
MCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVl
OWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0
IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBh
IGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4K
IC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWlu
YWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSBy
ZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zs
b2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2Iz
OGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaApAQCAtMzEs
NyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZL
ZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91
YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCmlu
ZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlv
bi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhSVEZFbGV2YXRpb25faAogCiAjaW5jbHVk
ZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVm
dCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3Vs
YXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZF
bGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2
YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZh
dGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAv
LyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0
LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMg
d2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0NsaXBib2FyZENocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZENocm9taXVtLmgKaW5kZXggMWQ2OTkyMS4uOGQ2ZmEyMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaApAQCAtNDIsNiArNDIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW50UG9pbnQ7CiAKICAgICBjbGFzcyBDbGlwYm9h
cmRDaHJvbWl1bSA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29w
eWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJh
bWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkK
ICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3Iu
aAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxpbmUg
aW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAmIDB4
RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBjb2xv
ciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1
cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAgICAg
Q29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVjLi4w
NzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFk
b3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2lu
ZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2FjaGUo
KQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleShjb25zdCBB
dG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1bnNpZ25lZCBzaXplID0gMCwg
dW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxzZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFsc2UsIEZvbnRSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2RlLCBGb250T3JpZW50YXRpb24g
b3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1fc2l6ZShzaXplKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4NDVkOS4uNGZhNzQxNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZv
bnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRh
OwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uMGViNjY4NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAj
ZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgwKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJj
Yy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1l
dHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAKIGNv
bnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNs
YXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFz
cyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEds
eXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxl
ZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDZhZGM5MGIuLmJhNzg5
YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAj
aW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE1Myw3
ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25IaWdo
CiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwog
ICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0zNTYsNyArMzU2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9v
bCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0OwogCi0g
ICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dzQml0
bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGMyZDVjMjQu
LjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25mbGljdGlv
biBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoV0lORE9XUykp
IHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCmlu
ZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04NCw3ICs4NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGlj
c0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhm
YWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkx
Y2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xh
c3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJl
IHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZp
YSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVk
IGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmlt
YXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUsIFBh
c3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAgOiBt
X2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBAQCBwcml2YXRlOgogCiAvLyBVc2Vk
IHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3
aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVkIGZy
b20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVMaXN0
KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFs
bG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+
IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBDb2xv
clNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCmlu
ZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291
cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYsOCBAQCBj
b25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0aW9uTG9v
cEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAotY2xhc3Mg
SW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAgICBJbWFn
ZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdhbW1hQW5k
Q29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBlODdjNTNjLi4zMTY1NDc4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5
IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBs
YXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3Qg
TWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVyRmFj
dG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3Jl
YXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlw
ZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlw
ZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAg
ICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uNzFjOTlkOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0Niw3
ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xp
ZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZpcnR1YWwgfk1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXggYmEy
NWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRo
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExBVEZPUk0oQ0cp
CkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZv
aWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVudCop
OwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQ
YXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi44ZTNhMDQxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRp
bGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7
CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMxZjgu
LjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBl
ZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9f
Zm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwog
Ci1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZU
X0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFz
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5k
ZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRleHR1
cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNE
OwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVk
R3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAg
IH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggNTMxZDY1Mi4uM2M3MWFj
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tC
aXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggMWYzMzUyNy4uNTI2YTg3YiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJm
YWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNpbmNsdWRlICJGbG9h
dFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllckNocm9taXVt
OwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVyQ2hy
b21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExheWVy
Q2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAt
MzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAi
SW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0Zi9P
d25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRyYW5z
cGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21wb3Np
dGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5hYmls
aXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0
LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lX
aW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVudW0g
TGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2lu
ZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLjBmNGM5NTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsNyArNzYs
OCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNsYXNz
IFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdp
bGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxsUHVi
bGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNo
Q2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZp
ZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJfaAog
I2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENs
YXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29wQmxp
bm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNsYXNz
aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIpOwog
cHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2
ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1
bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2Nh
bFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50
M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRy
aWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBwb2ludCB2
ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkxvY2Fs
VHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0aGUgdHJp
YW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRoZSBwb3Np
dGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8gY29v
cmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgpOwogICAg
IHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVm
ZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRl
ICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhiYWVmLi41
ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVu
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2
aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9m
IG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxs
b2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50
ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRy
ZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUg
IlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDggQEAg
c3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcgbikpIGlu
c2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0aGUgdHJl
ZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJ
bnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKK2Ns
YXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8
VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVydmFsVHJl
ZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFy
aW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1
NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJl
ZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlICJMb2dn
aW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5v
ZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAg
IC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRo
IHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3
bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUo
Y29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBl
ciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50
cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1
YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQoMCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1
NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwg
dW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwxNCBAQAog
I2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFJl
Y3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGlu
Z0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQg
dG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBp
bnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
V2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRl
ICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdD
b250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxl
LCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdl
YktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0
LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZv
bnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NG
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50
MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250
Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250LCBDR0ZvbnRSZWYgY2dG
b250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9hdHNGb250KGF0c0ZvbnQp
LCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44NDg5OTNiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC0y
NSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxh
dGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7
CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li5l
ZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJm
YWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFj
ZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3VsZCBt
YWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxlbWVu
dGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7CiAg
ICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCA2
YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5jbHVk
ZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFw
cGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uOWM2NjJhNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
QEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZv
cm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0
YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnRQbGF0
Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMsMTAg
QEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXgg
MTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBzdGF0aWMgaW5saW5l
IFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6
Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlk
Q29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRm
YjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1Ry
YW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFu
c3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJh
bnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAg
ICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZyZWN0
LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFwKHJl
Y3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4xNDNlZTc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250
UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCkBAIC00OSw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogI2lm
IE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVy
ZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250
UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dy
YXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0
ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBA
QAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2RlZmluZSBHcmFw
aGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZv
ciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0
Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0KHBs
YXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgzYWFmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lh
LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0U2tpYV9oCiAKICNp
bmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiAj
aW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJhd0xvb3Blci5oIgpA
QCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUgZm9yIG1hbmFn
aW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQ
YWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dz
IHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0
aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3IgcHJpbnRpbmcs
IHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5VTEwuIElmIHlv
dQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52
YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uMTBmYjA0NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0u
aApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAK
ICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dB
ZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDggQEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFz
cyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNzIEFmZmluZVRy
YW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJs
ZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEzNzcuLjA4ZjI3
NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRp
dHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2YjRiYWEuLjUy
YmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVk
ZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8c3RyaW5n
Lmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQ
TEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4K
QEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxvYXRSZWN0Owog
Y2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1hdHJpeDRbNF1b
NF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4xNjI4ZWViIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBA
IC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwog
CkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgog
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0
cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKICAg
ICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4u
NTE1NGVhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1
c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAogI2lu
Y2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDxjYWlyby5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBj
bGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9u
Y29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9udEZh
Y2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAuLjU5NTFlNDkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgK
QEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2NhbFdp
bmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93c0Nv
bnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQpOwog
cHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGlj
c0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0
cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGljc0Nv
bnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1v
dmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPFFUTUwuaD4K
ICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVuaW9uIFVwcFBh
cmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwog
c3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFz
cyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2
YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYxMmQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCkBAIC0z
Myw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVz
cGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRy
YWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCmluZGV4
IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJh
Y2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNz
IFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6
CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCmlu
ZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC0zNiw3ICszNSw4IEBAIHN0cnVj
dCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdLQ0FDRkNv
bnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkNvbnRleHRG
bHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0Rmx1c2hlcik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFyZWQoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5k
ZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJl
ci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBAQCBwdWJsaWM6CiAvLyBGSVhNRTogQ3Vy
cmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJWaWV3IGFu
ZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVjdDNERGV2
aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5ZXJSZW5kZXJl
ckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3ICsyNCw2IEBA
CiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01v
ZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29uc3Qg
U3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25zdCBT
dHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCmlu
ZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAi
Rm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RFWFRNRVRSSUNX
IFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
Y2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1OTYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2lu
Q0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250
ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAgc3RhdGljIHZvaWQgcm90YXRlQml0bWFw
KFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0bWFwKiBzb3VyY2VCbXAsIGMK
ICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAsIHNvdXJjZUJt
cCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIDogTm9uY29weWFi
bGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRyYW5zcGFyZW50TGF5ZXJEQyhH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIEludFJlY3QmIG9yaWdSZWN0LCBj
b25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwgaW50IGFscGhhID0gMjU1LCBi
b29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFyZW50TGF5ZXJEQygpOwpAQCAt
NTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRDOjpmaWxsQWxwaGFDaGFubmVs
KCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVEQ1By
b3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURDUHJvdmlkZXIoR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6IG1fZGF0YShkYXRhKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0
IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmlu
Z01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1E
YXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAg
ICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA1YTA0YmVlLi4xZDdiOWY4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTIy
MSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4TnVtUGl4ZWxz
KCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFnZXMgY2FuCiAg
ICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGltYWdlcyB0aGF0
IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1cHBvcnRlZCBi
eSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2RlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihib29sIHByZW11bHRpcGx5QWxwaGEsIGJv
b2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAgICAgICAgICAgICA6IG1fc2NhbGVkKGZh
bHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNmLi44OWY4MzNi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFz
cyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlwYm9hcmRNYWMgOiBwdWJsaWMg
Q2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFj
PiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3Rl
Ym9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0Nv
bnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4
dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2IEBACiAgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250ZXh0OwpAQCAt
MzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNz
IGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3ND
b250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCBy
ZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdy
YXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRH
cmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdy
YXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0
KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3Jh
cGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRU
aW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCmluZGV4
IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJl
ZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1t
CkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4KICNpbXBvcnQg
PElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNp
bXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5o
CmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5o
CkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRl
bT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QmxvYkRhdGE+IGNy
ZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFC
dWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKaW5k
ZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0
YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBUZXh0
RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvcm1E
YXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRFbmNvZGluZyBlbmNvZGluZ0Zy
b21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hhcnNldCwgRG9jdW1lbnQqIGRv
Y3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtT
dGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90
aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRl
ZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogCkBA
IC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBz
ZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5Y2NjZWNk
Li4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9uOwog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50OwogCi0g
ICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNvdXJjZUhhbmRs
ZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxl
Q2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmKQog
ICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0ZS4uMmI3NDE3MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC00OSw3ICs0OSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJl
cXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5cGUgZGlyZWN0bHkuICBVc2Ug
UmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8v
IFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJlc291
cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNSw3ICsy
MDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0o
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0
dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUgYm9v
bCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBi
KSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVhZFJl
c291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNl
KCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2Fj
aGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uY2I4YTUxZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQx
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0
aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNl
QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNl
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNv
dXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZhdGU6CiBpbmxp
bmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjb21wYXJlKGEs
IGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi1zdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7Citz
dHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKTsKK3B1Ymxp
YzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsgfQogICAgIEtV
UkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25nIG1fZXhwZWN0
ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5Nzg2Ny4uMTgxNThmYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
CkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBSRUFEX0JV
RkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGlj
IFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29y
ZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgog
ICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNw
b25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxl
V2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4u
Y3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4IEBAIHN0YXRp
YyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09SRCBp
bmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGlj
IFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29y
ZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgog
ICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNw
b25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsKICAgICB+V2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0
L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKaW5kZXgg
NWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9h
cmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaApAQCAtMzksNiAr
MzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVy
aW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgY2xh
c3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nl
c3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRhYmxlQ2xpcGJvYXJkKQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5MjczLi5k
YTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUw
LDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50
IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAot
Y2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRl
RGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAg
ICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0
YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVu
dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0NGYw
ZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVt
ZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0
LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xh
c3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0
YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FMaXRl
RGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi40MjdiMjk2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsy
NiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5z
YWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2FjdGlv
biA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24geworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFuc2FjdGlvbihTUUxpdGVEYXRhYmFzZSYg
ZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAgflNRTGl0ZVRyYW5zYWN0aW9uKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggMWY4NzExNS4uMDU2ZWQ3MiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmlu
ZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlkaUNvbnRleHQuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4IEBAIHN0cnVjdCBCaWRpQ2hhcmFjdGVy
UnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25leHQ7CiB9OwogCi10ZW1wbGF0ZSA8Y2xh
c3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRp
UmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJpZGlSZXNvbHZlcik7CiBwdWJs
aWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAgIDogbV9kaXJlY3Rpb24oV1RGOjpVbmlj
b2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVn
dWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lv
bi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1
bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFz
cyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2
aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMu
aAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCkBA
IC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9V
bmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0
eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNsYXNz
IFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVjIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIq
IHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4u
ODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9u
dFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250
VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2NvZGVyX2gK
IAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRE
ZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250RGVzY3Jp
cHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9vbCBuZWVkc1Ry
YW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyogPSAw
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4uMmQx
NDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYgKzQxLDcgQEAg
Y2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZl
bnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlwYm9hcmRXaW4g
OiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xp
cGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9iamVj
dCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZyYW1l
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VC
cm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2Fz
dGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBX
aW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNh
c3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNh
c3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05E
LCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlz
dGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFz
ZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFzaFNl
dDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7CiAK
LSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5E
YXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQ
bHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFp
blRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hl
ZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBfdCog
TlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hl
ZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVk
dWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVkdWxl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lkIE1h
aW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGRlYWVjOTku
LjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTMsNyArOTMsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxseQogICAgIH07
CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2lu
UmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQ
bHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJv
b2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91bGRBbGxvd1Bv
cHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJlcXVlc3Qp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZGI5NDc4YyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
bHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1uSW5mbyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29s
dW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDkuLjU1NWU4MWEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBDb3Vu
dGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRoaXMgaW1wbGVt
ZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFyZW50cyBpbiBj
b3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0
YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNjYTNlNDIuLmJi
YTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGNs
YXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0Owog
Ci1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRT
dGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGljOgog
ICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5h
LmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRl
ICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsKIAot
Y2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyQXJl
bmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNpemUg
PSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4
IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzU0LDcgKzM1
NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlckhhZExheW91dDsKICAgICB9OwogCi0g
ICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGbG9h
dGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0aW5nT2JqZWN0
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5vdGUg
dGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRv
IHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBGbG9h
dExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBAIC02ODEsNyAr
NjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9jb250aW51YXRp
b247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxk
cyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRh
IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNv
bnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2
ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQo
YmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2lu
QWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQoMCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAxNDNjNzJj
Li40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
CkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhy
ZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJveE1vZGVsT2Jq
ZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVmIEhhc2hNYXA8
TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIAotY2xhc3Mg
SW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFn
ZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1YWxp
dHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbWFn
ZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQYWludEF0TG93UXVhbGl0eShH
cmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIEltYWdlKiwgY29uc3Qgdm9p
ZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCmlu
ZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApAQCAt
NzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQgbm9T
cGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JpZEF4
aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAgdm9pZCByZXNp
emUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3Vy
Y2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2
NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJl
c291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBA
IC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRl
ck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uY2FkODQ1NyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3NpdGlu
Z0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcgZm9y
IGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJMYXll
ckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJM
YXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5o
CkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckxheWVy
OwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3
aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgdmlydHVhbCB+UmVuZGVy
TWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKaW5kZXggMjUzYTY3Mi4uMzFl
MDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICszNyw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cgYXJlIHNoYWRv
d3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3JkZXItaW1hZ2Up
LgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2Ug
ZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94LgotY2xhc3Mg
UmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyT3ZlcmZs
b3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0
JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxv
dyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
Q2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAg
ICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjIzYjVlNjAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKCkKICAgICAg
ICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDA3ZjkzM2YuLjEzM2Vi
NzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1NCw3ICsyNTQsOCBAQCB2b2lkIHRvUmVu
ZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQgY2xhc3MgdG8g
YXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0YXRlTWFpbnRh
aW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlTWFpbnRhaW5lcik7CiBwdWJs
aWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91dFN0YXRlTWFpbnRhaW5lcihS
ZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNpemUgb2Zmc2V0LCBib29sIGRp
c2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENo
YW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJp
dmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAgICAg
UmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6IG1f
b2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVm
ZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAppbmRl
eCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFn
ZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29s
cy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkltYWdl
QnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBHcmFwaGlj
c0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFNWR0ltYWdlQnVmZmVyVG9v
bHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VCdWZmZXJUb29scyk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0
ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBlZEFic29sdXRlVGFyZ2V0UmVjdCwg
T3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2UpOwogICAgIHN0YXRpYyB2b2lkIHJlbmRl
clN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyKiwgUmVuZGVyT2JqZWN0KiwgY29uc3Qg
QWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJr
ZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgK
aW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NW
R01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlv
dXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckRhdGEuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw4IEBA
IHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7CiB9Owog
Ci1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR01hcmtl
ckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01hcmtlckxheW91dEluZm8oKTsKICAgICB+
U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAppbmRleCA0OTU5
MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaApAQCAtMjIsNyArMjIsNiBA
QAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIFJlbmRlclNWR1Jlc291
cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEgc2V0IG9mIHJl
c291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNWR1Jlc291cmNl
cyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXND
YWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJl
bmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBT
VkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJj
ZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7
CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xhc3Mg
UmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBT
VkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAgU1ZH
UmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAg
flNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRleCBl
MGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91
dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIxLDEzICsyMSwx
MyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVMYXlv
dXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRhYmxlTGF5b3V0KFJl
bmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Ry
YW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UcmFu
c2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIK
ICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAgZW51bSBUcmFuc2Zvcm1EaXJlY3Rp
b24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBseUludmVyc2VUcmFuc2Zvcm1EaXJl
Y3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiB7IEZsYXR0ZW5UcmFuc2Zv
cm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3Np
dGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
VmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3QgaW50IFBvc2l0
aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdmZmZm
ZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAotY2xhc3Mg
VmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZlcnRp
Y2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGljYWxQb3Np
dGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUoKQogICAgIHsg
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRhMi4uZjIzZTcw
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCkBAIC0zMyw3ICszMyw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFnZTsKIAotc3RydWN0IENvbnRl
bnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnREYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlwZShDT05URU5UX05PTkUpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi5kZGY5
YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMwLDcg
KzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVudCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21p
Y1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li5jNmVlNTEyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmls
bFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZpbGxMYXllclR5cGUpOwogICAg
IH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRv
d0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBjYTgz
YWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dE
YXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNp
bmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsKIAogLy8g
VGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRleHQt
c2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0RhdGEgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1feCgw
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKaW5kZXggMzYz
NDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRD
aHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVp
bGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7CiAvLyBQaGFz
ZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQsIGNvbXB1dGlu
ZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVkIGluIHRoZSBT
VkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQaGFzZSB0aHJl
ZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBwbGllZCB0byBl
YWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVuZ3RoKS4KIAot
Y2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0Q2h1
bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxk
ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxk
ZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICszOCw4
IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0cmVl
IGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAvLyBU
aGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0RW5n
aW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwogcHVi
bGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQgYnVp
bGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQwNThkOC4uNjMx
ZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCkBA
IC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVyU1ZHSW5saW5l
VGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNo
YXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBvYmpl
Y3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmUoKTsK
ICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7IHJldHVybiBt
X2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkzZWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUmVu
ZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNs
YXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5
b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1iYXNl
bGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFz
ZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZUJh
c2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lQmFz
ZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25zdCBG
b250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0
RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMwLDcgKzMwLDgg
QEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAvLyBIZWxwZXIg
Y2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2VybmluZycgLyAn
bGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcoY29u
c3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgg
Yi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4uY2UwYmE0ZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNvbXBs
ZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0byBi
ZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25pemVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIpOwog
cHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2OCw4
IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRl
eCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3
ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9y
aWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFi
YXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRyYWNrZXIo
Y29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRpYyBEYXRhYmFzZVRyYWNrZXIm
IHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNh
Y3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9u
aXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFn
ZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lE
QlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDcgKzQz
LDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogLy8gRklYTUU6IG1v
dmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8gVExTLiBLZWVwaW5nIGl0IHN0YXRpYwog
Ly8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJzLiBBbm90aGVy
IHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSB2ZWN0b3IgaW4gdGhlIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3Ig
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3Ip
OwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVQZW5kaW5n
VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oIGIvV2ViQ29yZS9zdG9yYWdlL0xv
Y2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40NjcyMDQyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2Nh
bFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBj
bGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQsIEFyZWFTeW5j
LCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9zdG9yYWdlL0xv
Y2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLjI0ZmUxOWMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRo
aXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExv
Y2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBiL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi5hYzI4YTc3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5V
c2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdl
L09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQu
aAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3Jp
Z2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQu
aApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE9iamVjdHMgb2Yg
dGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0aCBleHRlcm5h
bCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJndW1lbnRzIGFyZSBhbHNvIHN1cHBvc2Vk
IHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxlciB3aGVuIG5lY2Vzc2FyeS4KLWNsYXNz
IE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblVz
YWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5Vc2FnZVJlY29yZCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgT3JpZ2luVXNhZ2VSZWNvcmQo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50Lmgg
Yi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBmZWQwNjU3Li5k
NTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQu
aAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApAQCAtMzMsNyAr
MzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAgQEAgY2xhc3Mg
QWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5zYWN0aW9uIGNs
YXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQKIC8vIHBhcnRp
ZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNhY3Rpb24uCi1j
bGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
UUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNh
Y3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNRTFRy
YW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9u
KEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJh
Y3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSop
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iu
aCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQz
NjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9u
Q29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGlu
YXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Ig
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3JkaW5h
dG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFNRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJlTG9jayhTUUxU
cmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5zYWN0aW9uKik7
CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0Rv
Y3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgK
aW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1l
bnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgK
QEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NNSUxF
bGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNp
b25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNW
R1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhhc2hN
YXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7
CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0gICAg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotICAg
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5z
aW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBv
ZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAgLy8g
d2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBi
dXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRS
YXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0
YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgK
KysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcgKzIxLDYgQEAK
ICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIFNWR0N1
cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNl
OwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdFbGVt
ZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0Vs
ZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaApp
bmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0
YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
Rm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ZvbnRE
YXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2ViQ29yZS9zdmcv
U1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVy
LmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUGF0
aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhCbGVu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFt
LmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0
aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC0y
MSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lmIEVOQUJMRShT
VkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDggQEAgdHlwZWRl
ZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQgc2hvcnQp
XTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0
ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmggYi9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3ZTRjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNp
bmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2luZ01v
ZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGlu
Y3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNvbnRpbnVl
Q29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBh
cnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NW
R1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEy
ICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1Bh
dGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgK
QEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0
aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291cmNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZH
UGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3Qg
PSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3Zn
L1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0z
NCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1M
aXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAot
ICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICAg
ICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApp
bmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9T
VkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01
NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJv
bWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50KFNWR0lt
YWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1l
QW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dl
YmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1l
QW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBV
aW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVBbmFseXNlcigp
OwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
d2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOGYzZjE1NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
LmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgK
QEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDggKzQyLDEwIEBA
IGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViU29j
a2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKTsKIHB1
YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJMJiwgY29uc3Qg
U3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgpID0gMDsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3Jl
L3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5NzM5YzggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAogICAg
IGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFu
bmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50
KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHBy
b3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93
ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9X
ZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywxMyBA
QAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNo
YWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRIYW5k
c2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFr
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7CiAg
ICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0ZSwg
Tm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRz
L1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMv
V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi5hYzgzZThl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsK
IGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJT
b2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3OCw4
IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2Uu
ICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAvLyBs
aWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0
Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIqIGNy
ZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBjbGll
bnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGExLi42OGY5NjI1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
aApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUzLDcgKzUyLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5OwogCiAg
ICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWZh
dWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJl
ZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29y
a2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hh
bm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQogCiAg
ICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRoZSB3
b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAgICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoKICAg
ICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1YWwg
fk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMz
OTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBA
IC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRl
ICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcg
KzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJv
eHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHks
IHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1Ymxp
YyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkoV29y
a2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNmLi43YjMxNDlj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKKysrIGIvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDggQEAgU3RyaW5n
IFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAK
LWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29w
U2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7CiBwdWJsaWM6
CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAgICAgIDogbV9y
dW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9v
cC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRlZGZkLi5mYTFi
Y2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAotICAg
ICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFz
ayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25Q
dHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4g
dGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0
YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKQEAgLTYx
LDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAg
ICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVw
RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRo
cmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpSZWZD
b3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVzdCIp
OwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBt
X3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAt
NDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxI
dHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2ViQ29yZS94bWwv
WFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0
aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVjdCBFdmFsdWF0
aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNv
bnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUz
LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+UGFy
c2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1
YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4cHJl
c3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94
bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgK
QEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQ
YXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQo
dHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3htbC9YUGF0aFBh
cnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQ
YXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQgdCwgRXFUZXN0
T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQogICAgICAgICB9OwogCi0gICAgICAg
IGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBhcnNl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwogICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJzZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3JlL3htbC9YUGF0
aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
eG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaApA
QCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1
YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0
VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAg
ICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5o
IGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5OCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVw
LmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNz
IFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VO
b2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGljIFBh
cnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBBeGlz
IHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0
cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAgICAg
ICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgICAg
IGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAgIGVudW0gS2luZCB7CiAgICAg
ICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNzaW5n
SW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgK
aW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0
UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFz
cyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJj
ZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50
U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hh
bmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNmViYTIxLi4zYTZjZGQ2IDEwMDY0NAot
LS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9m
IHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVy
aXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxh
cmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAg
ICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24u
IFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5j
bHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaDog
UmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6IFVwZGF0ZWQgZm9yIHJlY2Vu
dCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5o
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4M2YuLjQzZGI3
OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2Rl
ZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gQm91bmRPYmplY3QgaXMgYSBo
ZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8v
IGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25j
ZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpD
b250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwog
ICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
c3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdn
ZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLjU5YzIxNzcgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAj
aW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpA
QCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVi
dWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJZFdy
YXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoKICAg
ICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVy
SWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkKZGlm
ZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaCBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0Li5i
Nzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBA
IC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNvbWUg
YWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQogLy8g
ZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBw
ZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRp
bmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAgICBz
dGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwu
aAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250
ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsKQEAgLTQ0LDggKzQzLDggQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50OwogY2xh
c3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlICB7CitjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250
ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
KFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNG
cm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwo
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwu
Y3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5kZXgg
ODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZU
b29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Fn
ZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50Lmgi
CiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAK
IHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2IuLmIwODUzMzggMTAwNjQ0Ci0t
LSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTM2LDcgKzM2
LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7
CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6
IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRl
bmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdl
YkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJW
aWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNw
cCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBhZGFhYjYxLi5j
MDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAK
KysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yNzksNyArMjc5
LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250YWlu
ZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUg
c29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1h
ZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5Q
cmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250
ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVi
bGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRD
b250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1lKQog
ICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1l
bnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uNGZkNDJhNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
b3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBX
ZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICAvLyBXZWJXaWRnZXQK
ICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJiYWUyNS4u
NjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJI
VE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIu
aCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5o
CmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4IEBACiAj
aW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAot
Y2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwIGIvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUyNmE1YzQg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKIAog
I2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgotI2luY2x1
ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJu
YWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQg
d2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAKLWNsYXNz
IERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5k
bGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsKICAgICBw
dWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9X
ZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9tYWMvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaCBi
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgK
aW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVnaW5zL0hv
c3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFjL1BsdWdp
bnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyArMzEzLDgg
QEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6RXhlY1N0
YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFsdWUmIHJl
c3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBkYXRhX3Qg
dmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpTQzo6TWFy
a2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCA6
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIExv
Y2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dlYktpdC9t
YWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzczOS4uNjVh
YmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNs
aWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50
Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldlYkRhdGFi
YXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KiBj
bGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRkNGQ1Mi4u
ZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9XZWJLaXQv
cXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxs
b2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJp
bmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9B
bHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaCBi
L1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0
NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dpbi9DT01F
bnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgKICNpbmNs
dWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVk
ZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWluZXJUeXBl
PgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5UIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6CiAgICAg
c3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGlj
IENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2luL0NPTVBy
b3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaApAQCAt
MjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253bi5oPg0K
IA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRlPHR5cGVu
YW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nLCB0
eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFzcyBDT01Q
cm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyLCBO
b25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFn
LCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENPTVBy
b3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBlLCBWYWx1
ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dlYktpdC93
aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAgICBpbnQg
bV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
IDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
cigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwIGIvV2Vi
S2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9XZWJLaXQv
d2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGlubGlu
ZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4gIXdjc2Nt
cChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1Ymxp
YyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZURldGFp
bHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
RGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERhdGFiYXNl
RGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBTX09LOwog
fQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1v
ZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWlu
VGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0eU9yaWdp
biogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgg
Yi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTggMTAwNjQ0
Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJJbnNw
ZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9oCiAKICNp
bmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogY2xhc3Mg
V2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1
YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdl
Ykluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclBy
aXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyopOwogCmRp
ZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9XZWJLaXQv
d2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2
NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBiL1dlYktp
dC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBzdGF0aWMg
TG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVybiBtYXA7
CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsaXplZFN0
cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0cmluZykK
ICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2Vi
U2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBmMDg4YTcy
Li4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKKysrIGIv
V2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdlYlNjcmlw
dFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxkIHsKK2Ns
YXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJT
Y3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2ViU2NyaXB0
V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlNlcmlh
bGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXgg
YTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNW
YWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAtMzQsNyAr
MzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZh
bHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNW
YWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNl
cmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVibGljOgog
ICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9X
ZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0
YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKKysr
IGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyArMzIsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0ZXJuOwog
fQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29weWFibGUs
IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJDb250ZW50
VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGljOgogICAg
IHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0YW5jZSgp
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBI
b3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RB
bGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBj
YW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSku
IENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5n
IHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQg
dW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTIyICBBZGFt
IFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgcGF0aHMgcmVsYXRpdmUg
dG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0byBhY2Nlc3Mgc2hhcmVkIC52c3Byb3Bz
IGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBo
b3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgKaW5kZXgg
ODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Jp
bmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1h
cGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCaW5hcnlTZW1hcGhvcmVfaAogI2Rl
ZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMg
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktpdDIvUGxhdGZv
cm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
I2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNb2R1bGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAgTW9kdWxlKGNv
bnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgK
aW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFy
ZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJlZE1lbW9yeV9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTUyLDcgKzUxLDggQEAgcHVi
bGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxlIDogTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAgICAgICAgfkhh
bmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5o
CmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJQbHVnaW5D
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9y
eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQog
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblBy
b2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0
cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNzIFBs
dWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBs
dWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9XZWJLaXQy
L1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44YzVlOGUzIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9DaGls
ZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAK
ICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29y
ZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGls
ZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAgfkNoaWxk
UHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1l
c3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VS
ZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hh
cmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAorKysgYi9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAog
I2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGltZS5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHku
aAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVn
aW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0
UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAog
I2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9T
YW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgKaW5k
ZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4
dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaApAQCAtMjcs
NyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9uX2gKIAogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1naXQgYS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaCBiL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCmluZGV4IGU4ODg5YjYuLjNm
NWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRv
cldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldp
bmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJbmRpY2F0b3JXaW5kb3dfaAog
I2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9ydCA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgog
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUyLi4wZGM3YTljIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKKysr
IGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCkBAIC0y
OSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQxLDcgKzQwLDggQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJQcm9jZXNz
UHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDogTm9uY29weWFibGUgIHsKK2Ns
YXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVn
aW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3NNYW5h
Z2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93
aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2lu
L1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4uOWUxNzQyZSAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAor
KysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3Bw
CkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVn
aW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3RvcmllczsKIH0KIAotY2xhc3MgUGF0
aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2VyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQYXRoV2Fsa2Vy
KGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQ
cm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRM
aW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
VmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRMaW5rUHJvdmlk
ZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBs
aWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTguLjhiMDAzMzMgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1
ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1NCw2IEBAIGNsYXNzIFdlYlBhZ2U7
CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8RG93bmxv
YWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRvd25sb2FkSUQs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9hZCgpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKaW5kZXggMDI0
NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25s
b2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERvd25sb2FkTWFuYWdlcl9o
CiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7CmRpZmYg
LS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0Lmgg
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKaW5kZXgg
NjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lX2ludGVybmFs
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogICAg
IGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8vIE5QSlNPYmplY3QgaXMgYW4g
TlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3MgTlBKU09iamVjdCA6IHB1Ymxp
YyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9i
amVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09iamVjdCk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1h
cCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCmluZGV4
IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2
IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rpb25zIGZvciB0aGUgZ2l2ZW4g
d2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1jbGFzcyBQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9G
aW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1
ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXkuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZjNzE5IDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5j
bHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggODI0Yjcx
Ny4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTIzICBab2x0YW4gSG9y
dmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxs
b2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2Fu
IHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBD
aGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0
byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVu
bmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4ICBTYXRp
c2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
SmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMsNyBAQAogCiAyMDEwLTA3LTA3ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29tbWVudCBvdXQg
YSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8KgdG8gZmFpbCBv
biBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3RO
ZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVv
cGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWlu
LmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAor
KysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25j
b3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
Q3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAgLTQ1LDcg
KzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAgdHlwZWRlZiBW
ZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3VuZENsYXNzIGxl
dHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkgYWNjZXNzZXMK
IC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQqIHZhcmlhYmxl
IGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3BwQm91bmRDbGFz
cyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAgcHVibGljOgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9v
bHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9v
bHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAgLTM1LDcg
KzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNBZ2VudENs
aWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBAIHN0cnVjdCBX
ZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsKIAotY2xh
c3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGll
bnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVibGljOgog
ICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0FnZW50KCkg
e30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERl
dlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRE
ZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKKysrIGIv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3MuaCIKICNpbmNs
dWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNz
IERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVibGljIFdl
YktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAg
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMg
V2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHNDbGllbnQo
RFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1YWwgfkRSVERl
dlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2NzE0ODku
Ljg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyArMTExLDgg
QEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBn
b2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMgcG9zc2li
bGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5hdmlnYXRp
b25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9uQ29udHJv
bGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQu
aAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRy
b2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4dC9wbGF0Zm9y
bV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9Ta0Nv
bG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEgZm9yd2FyZCBk
ZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGljOgogICAgIC8v
IFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9w
bGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5
IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5o
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQu
aAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4LDkgKzQ4LDkg
QEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2luL1dlYlRoZW1l
RW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1l
RW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1l
RW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURSVCk7CiBw
dWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRl
c3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktp
dEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZpbmUgSG9zdFdp
bmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoKICAgICBIb3N0
V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dl
YktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0
L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9v
bHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEzIEBACiAj
aW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGVz
dHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9XZWJLaXRU
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDExICsyNywxMCBA
QAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWlu
UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVFIgewog
Ci1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0
SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3QgY2hhciopOwog
ICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74664</attachid>
            <date>2010-11-23 07:55:37 -0800</date>
            <delta_ts>2010-11-23 07:58:18 -0800</delta_ts>
            <desc>playing with Chromium&apos;s EWS bots round #3</desc>
            <filename>kedd4.patch</filename>
            <type>text/plain</type>
            <size>327155</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRm
NmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgU2F0aXNoIFNhbXBhdGggIDxz
YXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgg
Yi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZX
RF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggODVkYjZmZC4u
OTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU1OCwx
MCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJ
CQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi5iMmFjODY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAg
c3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91
c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3Jp
cHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNo
ZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRleCA0YzI1NDA3
Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwx
MiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmll
bmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9v
a3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
ICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1
Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyBy
ZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdp
Y2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdX
cmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVn
V3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFy
ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4
IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAg
IHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHku
IFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2
YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUo
SlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1Li4y
NzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRv
dzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4g
PiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBm
cmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7
CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+
V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5j
b250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBA
CiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0g
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxlcihXb3JrZXJDb250ZXh0
Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
CmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC00Myw3ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJlYWQuICBUaGUgRE9NRGF0YSBm
b3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3IgY2hpbGQgdGhyZWFkcwogICAg
IC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERPTURhdGEo
KTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0xNDksNyArMTQ4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMg
bWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YVN0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3RvcmUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01Ob2RlTWFwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQy
ZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAiT3duSGFuZGxlLmgiCiAjaW5j
bHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAg
ICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1j
bGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jp
cHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2
ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBiNzVhMDU0Li5lMDk2OWUxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNp
bmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRT
dGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRp
dGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi5kYzI0NzEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3Mg
UGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1
YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0Vt
cHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNl
cHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgp
IHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShz
Y3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAog
Ly8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMg
YW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRl
IHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAg
ICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0
ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBA
QAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRp
bmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhv
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJh
bWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2FkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
cmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9C
cmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDgg
KzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3Mg
Q2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAg
ICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3Qg
SWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZp
ZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0
IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDgg
QEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0
OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQ
YXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaApAQCAt
MzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5o
CmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcg
QEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENT
U0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VW
YWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLjczZjJhY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4u
MDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFt
ZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0
b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93
blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMWRhMjBiNy4uOTcyZjc3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5k
U2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNz
IENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Bh
cnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyAr
ODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7
CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAgICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVM
aXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENT
U1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50
IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFs
c2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAg
OiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7
IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0YWFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0
LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsK
IAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVs
ZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9y
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1NlbGVj
dG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMw
Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lmaWNpdHlG
b3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsK
IAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJlRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJh
cmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAgICAgICAg
ICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApp
bmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3
LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rv
ckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1NlbGVjdG9y
TGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZmM2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7
IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4xM2ZjOTdlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1j
bGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQo
Y29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHBy
ZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlz
IGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9u
IGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3Vt
ZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVk
RWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBh
Z2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdy
b3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1
cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hl
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBi
b29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyArMzE4LDggQEAgcHVibGljOgogICAgICAg
ICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5
UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1Nl
bGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3Np
dGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgICAgICA6IG1fZmlyc3Qo
bmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRleCAyODEwMDliLi43
ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gUmVz
dHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9uZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hh
cmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhl
IGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2Jh
YmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkg
c2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3Ig
ImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICsz
OCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAK
LWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRp
YVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1
ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAg
Yi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFz
eW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBD
YWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAg
ICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsK
KyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBj
YWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYo
KXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5o
CmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBA
IGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVu
dDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3lu
Y1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5
bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
IGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvV2ViQ29yZS9kb20vRE9N
U3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3
ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGlu
dCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01T
dHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwg
fkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODNiYTg4NS4uODQxYmIyNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAg
ICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29u
dGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1l
bnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRv
Y3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4uNTBlYzg4MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7
IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5o
IGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVkMzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYg
KzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVudF9oCiAKKyNpbmNsdWRlICJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zMSw4ICszMiw2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKLQogICAgIGNsYXNz
IEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+IHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAvLyBl
bmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBFdmVudE5hbWVzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMTRk
OTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFu
bmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAK
QEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBw
b3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNz
IEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0
YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFz
c093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAg
ICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAg
cHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzogICAgCiAg
ICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3RhYkluZGV4KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgK
aW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBA
QCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFt
ZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxR
dWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJl
YjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNj
cmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVt
ZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgy
YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysg
Yi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKKyAg
ICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
PSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBz
byB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUg
Y29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAg
LTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU3BhY2VT
cGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0
cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
U3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uo
c2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5o
CmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsy
Myw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQ
bGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBE
ZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVy
ZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGlj
YXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwog
cHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJu
IHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1
cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHBy
b2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxl
bWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2My
Li5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisr
KyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6
IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMyODVmLi42ZWRlNzg2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAg
ICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsK
ICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQxOTMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFhNTERvY3VtZW50UGFy
c2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKFhTTFQpCiAjaW5jbHVkZSA8bGlieG1s
L3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVu
dFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApp
bmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlw
ZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9
OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVw
bGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVu
dEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50
KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRG
cmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29y
ZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAi
VmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0
aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlv
bk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rp
b25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxl
ZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTlj
NzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBA
IHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNz
IFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hl
Y2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBl
cik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NS
ZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVw
cyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhl
IGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMg
ZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYg
PGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJp
bmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQu
aApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQg
c3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4u
MTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkg
cG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
cGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhh
dCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxs
ZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVy
LmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4u
MDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmls
ZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0Nh
bGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBl
bmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxs
YmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJl
c3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlw
ZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmlu
ZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9s
bGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
ICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3Rv
cnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NS
ZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAot
ICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUq
IHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZh
Li5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysr
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rpb25DYWNo
ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uZTE1MDczMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tl
bkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLmUwZGJj
YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2Vw
YXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVj
dCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBFdmVudEhhbmRs
aW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmVm
UHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWlu
YXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQ
YXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBk
ZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3Mu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQog
ICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2Zh
Li5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNs
YXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0
eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBv
c2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8g
Y2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBl
PiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4x
ZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdl
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAot
Y2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29s
IGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4
IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3Mg
VmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlv
bk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApA
QCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCBhMjVlOGExLi4xNGY1YTBhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBA
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7
CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZp
cnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVs
b2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGlj
OgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1Ymxp
YzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rp
b25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQq
IGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhU
TUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDog
bV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRl
eCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZkNDExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVu
dFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNz
IFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2Fy
ZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJk
IChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1l
bnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNrKCk7CiAgICAgfkhUTUxF
bGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIH5FbGVtZW50UmVj
b3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5mNzVm
YTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVu
dExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50
OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNs
YXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBhNzA5YmQ5Li42NDJlNDM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0
ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRo
ZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAi
bGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAgICAgICA6
IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjksOCBAQCBwcml2YXRlOgogICAgIFNlZ21l
bnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0U3RyZWFt
KQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBA
CiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFz
cyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
UGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2No
ZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3Mg
U2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAi
TmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmlu
aXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBl
bmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgog
ICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxz
ZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBz
aG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8g
ZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1j
bGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWlj
SFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwog
cHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6
IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4
IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVu
dGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFz
cyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAg
ICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAg
ICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBj
bG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAK
LWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVy
VG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQo
dG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAg
ICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtl
SW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxk
ZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5z
ZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWls
ZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1
aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRl
eCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0Lmgi
CiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1
bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTFRva2VuaXpl
ciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywg
Ym9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDMsNyArMjAzLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFu
ZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWln
bkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJh
Z21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVs
ZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaApAQCAtMjgs
NyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIodW5zaWdu
ZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25lc3RpbmdMZXZlbCgmbmVzdGluZ0xldmVs
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlw
dENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwog
Ci1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25z
b2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5z
aWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBj
ZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0
LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3Bl
Y3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxl
ciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAg
ICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlkOS4uZjljMTA0MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25z
ZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+ID4gRE9NU3RvcmFnZVJlc291cmNlc01h
cDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5NTAx
YWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2
ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3Bl
Y3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmlu
ZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3
ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwog
ICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFw
U25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxl
ckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKik7CiAgICAg
dmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUwMjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51
bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxp
bmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBT
Y3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBTY3JpcHRDYWxs
U3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQu
LjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNs
YXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAg
ICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAot
ICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsK
IAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVk
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2
YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgIH0K
ICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzgzLDgg
KzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxG
cmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNsaWVu
dCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1
YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlD
b250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
RW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4dE1l
bnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVkKCkg
eyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShDT05U
RVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0Ns
aWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6Cisg
ICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9pbnQm
LCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAsMTAgQEAgcHVibGljOgogfTsKICNlbmRp
ZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6
IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4
IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1
bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZp
Z2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9u
KGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0
LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBt
X2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCmluZGV4IDE0MDBj
MjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNj
aGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlv
blNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtMzQsNyAr
MzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0
byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFz
IHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwg
dGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgot
Y2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBA
IC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5
YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0
aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlh
bFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0
aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29w
eWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1LDggQEAgY2xh
c3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsK
IAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBy
b2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIo
KTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9S
ZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKaW5kZXggYjZkZTMxMi4uOTZmN2Ix
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAK
LSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1
ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNl
TG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNr
UG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcw
NDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2Fk
Tm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9h
ZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmll
cik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQy
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1Ymxp
YzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2
ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhv
c3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDEx
ZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIu
IEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJh
bWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1
YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxl
TG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90
IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0
aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAog
ICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRh
YmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VF
cnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVM
b2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2Vu
dCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAg
LTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAK
ICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3Vw
LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAppbmRl
eCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBk
YXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29u
dGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlh
YmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAg
OiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGlj
YXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5
ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li42
NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9z
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUg
U3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAg
ICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwog
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAg
ICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAor
KysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApA
QCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgUmVxdWVzdDsKIC8vIEEgcmVzb3VyY2Ug
dGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBv
YmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0
IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZl
ZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRo
IHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xh
c3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJp
ZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBA
CiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3Zlcmxv
YWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsg
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBm
MzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJM
OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBz
Y3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBD
YWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hl
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2
YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1v
cnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRo
aXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1l
bW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNo
ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4
IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1j
bGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0
YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAg
ICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVm
aW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhv
ZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3By
aWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJh
c2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBw
ZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFl
YmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxv
YWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRl
KEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNv
bi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBp
Y29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJM
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVj
b3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
aW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNs
dWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNv
dXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBj
bGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0K
ICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxi
YWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEz
MDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYg
KzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAK
ICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRl
KGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlm
aWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92
aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4
NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNv
bnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51
Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRN
ZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAg
ICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFn
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRy
b2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0
ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJh
cnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSop
OwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRs
ZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdT
dGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhh
bmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8g
ZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2Ug
Z2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2Ry
YWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
dmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMuLjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgog
I2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4
ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZy
YW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhp
c0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZl
cnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGlt
dW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25l
IGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0
c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVk
dWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVs
ZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9k
ZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5k
ZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFz
cyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9s
bGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0
dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBh
Z2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRp
bmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApp
bmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNj
cmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3Jv
dXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
UGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERl
ZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41YjcwNzIzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFs
dGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhh
bHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVy
KFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4
dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0
aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5k
ZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5w
dXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJl
cXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVj
aCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBl
bGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZv
ciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0
cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNo
SW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6
CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVl
Y2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5o
CkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNj
cmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1
cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0
LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0
eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyAr
MzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
d2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9y
LmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxk
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2Ny
aXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVz
ZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3Mg
WFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAg
ICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFz
ZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0
eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3Bl
cnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBl
ckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb3BlcnR5V3Jh
cHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00MzgsNyArNDM5
LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
QmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBl
ckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGlj
OgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0
ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3
MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFu
aW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApp
bmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1
cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9
CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2
ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAg
ICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRl
eCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNG
aWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFj
ZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3Rl
IHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0Zp
bGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAg
IHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBA
IGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBG
aWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4g
YSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmly
dHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0
b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApA
QCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRv
ZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBf
X09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFz
cyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRv
ZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29s
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgog
ICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2Ry
YWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51Lmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0
TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDog
cHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uMTEyNjU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENv
bnRleHRNZW51SXRlbShQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaAppbmRleCA0N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0
ckxpc3RfaAogCiAjaW5jbHVkZSAiRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8
Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBs
KGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0
KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1
ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17Citj
bGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJl
Y2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVw
cmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZl
bnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9v
cCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2Vu
ZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2
NS4uZDYwYWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3
ICsyNiw3IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0
aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3
dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJl
ZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZp
Y2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAg
IHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGll
bnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2lu
ZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2
LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAog
ICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBj
b250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVy
d2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZv
aWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLmM0MjlhNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIs
NyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25z
dCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZv
ciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNl
bnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBM
ZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDAp
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li40OTZmYmIzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgx
LDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291
cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9I
ZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li42YTM2MzE5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDgg
QEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAg
ICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwg
Z3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNz
ZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgK
aW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJn
ZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBA
IC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUg
IlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGlt
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhj
NTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZp
bmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAK
LWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVu
TG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFz
ZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1
bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWly
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZv
cm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xh
c3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFy
VGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAg
IHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQo
U2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0
Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4u
MTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZu
ZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhy
ZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGlt
cGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQg
YnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1
c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hh
cmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU2hhcmVkVGltZXIoKSB7IH0KICAgICAg
ICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rmly
ZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTQ1LDcg
KzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFw
cGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNsYXNzIFRocmVhZEdsb2JhbERh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9iYWxEYXRhKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAgICAgflRocmVhZEdsb2JhbERh
dGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBUaHJlYWRUaW1l
cnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFz
ZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBU
aHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQw
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5l
IFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVy
QmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJl
ZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
cmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNv
dW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXgg
OWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlv
bkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25M
aXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlv
bkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4YjgxLi4zOThlMTI3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gK
IAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJl
cHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBtb3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBU
aGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bwb3NlZCB0byAiaW50ZXJsZWF2ZWQiLgog
Ly8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBpcyBtb25vLCBhbiBBdWRpb0J1cyB3aXRo
IHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNsYXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIENoYW5uZWxMZWZ0ID0g
MCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVl
OWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0
IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBh
IGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4K
IC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWlu
YWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSBy
ZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zs
b2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2Iz
OGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaApAQCAtMzEs
NyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZL
ZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91
YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCmlu
ZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlv
bi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhSVEZFbGV2YXRpb25faAogCiAjaW5jbHVk
ZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVm
dCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3Vs
YXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZF
bGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2
YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZh
dGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAv
LyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0
LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMg
d2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0NsaXBib2FyZENocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZENocm9taXVtLmgKaW5kZXggMWQ2OTkyMS4uOGQ2ZmEyMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaApAQCAtNDIsNiArNDIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW50UG9pbnQ7CiAKICAgICBjbGFzcyBDbGlwYm9h
cmRDaHJvbWl1bSA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29w
eWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJh
bWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkK
ICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3Iu
aAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxpbmUg
aW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAmIDB4
RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBjb2xv
ciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1
cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAgICAg
Q29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVjLi4w
NzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFk
b3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2lu
ZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2FjaGUo
KQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleShjb25zdCBB
dG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1bnNpZ25lZCBzaXplID0gMCwg
dW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxzZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFsc2UsIEZvbnRSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2RlLCBGb250T3JpZW50YXRpb24g
b3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1fc2l6ZShzaXplKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4NDVkOS4uNGZhNzQxNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZv
bnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRh
OwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uMGViNjY4NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAj
ZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgwKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJj
Yy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1l
dHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAKIGNv
bnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNs
YXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFz
cyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEds
eXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxl
ZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDZhZGM5MGIuLmJhNzg5
YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAj
aW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE1Myw3
ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25IaWdo
CiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwog
ICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0zNTYsNyArMzU2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9v
bCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0OwogCi0g
ICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dzQml0
bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGMyZDVjMjQu
LjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25mbGljdGlv
biBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoV0lORE9XUykp
IHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCmlu
ZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04NCw3ICs4NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGlj
c0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhm
YWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkx
Y2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xh
c3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJl
IHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZp
YSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVk
IGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmlt
YXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUsIFBh
c3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAgOiBt
X2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBAQCBwcml2YXRlOgogCiAvLyBVc2Vk
IHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3
aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVkIGZy
b20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVMaXN0
KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFs
bG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+
IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBDb2xv
clNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCmlu
ZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291
cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYsOCBAQCBj
b25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0aW9uTG9v
cEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAotY2xhc3Mg
SW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAgICBJbWFn
ZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdhbW1hQW5k
Q29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBlODdjNTNjLi4zMTY1NDc4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5
IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBs
YXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3Qg
TWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVyRmFj
dG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3Jl
YXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlw
ZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlw
ZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAg
ICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uNzFjOTlkOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0Niw3
ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xp
ZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZpcnR1YWwgfk1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXggYmEy
NWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRo
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExBVEZPUk0oQ0cp
CkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZv
aWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVudCop
OwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQ
YXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi44ZTNhMDQxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRp
bGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7
CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMxZjgu
LjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBl
ZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9f
Zm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwog
Ci1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZU
X0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFz
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5k
ZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRleHR1
cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNE
OwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVk
R3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAg
IH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggNTMxZDY1Mi4uM2M3MWFj
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tC
aXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggMWYzMzUyNy4uNTI2YTg3YiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJm
YWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNpbmNsdWRlICJGbG9h
dFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllckNocm9taXVt
OwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVyQ2hy
b21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExheWVy
Q2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAt
MzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAi
SW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0Zi9P
d25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRyYW5z
cGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21wb3Np
dGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5hYmls
aXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0
LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lX
aW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVudW0g
TGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2lu
ZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLjBmNGM5NTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsNyArNzYs
OCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNsYXNz
IFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdp
bGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxsUHVi
bGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNo
Q2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZp
ZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJfaAog
I2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENs
YXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29wQmxp
bm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNsYXNz
aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIpOwog
cHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2
ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1
bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2Nh
bFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50
M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRy
aWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBwb2ludCB2
ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkxvY2Fs
VHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0aGUgdHJp
YW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRoZSBwb3Np
dGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8gY29v
cmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgpOwogICAg
IHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVm
ZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRl
ICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhiYWVmLi41
ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVu
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2
aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9m
IG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxs
b2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50
ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRy
ZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUg
IlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDggQEAg
c3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcgbikpIGlu
c2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0aGUgdHJl
ZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJ
bnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKK2Ns
YXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8
VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVydmFsVHJl
ZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFy
aW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1
NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJl
ZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlICJMb2dn
aW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5v
ZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAg
IC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRo
IHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3
bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUo
Y29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBl
ciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50
cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1
YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQoMCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1
NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwg
dW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwxNCBAQAog
I2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFJl
Y3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGlu
Z0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQg
dG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBp
bnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
V2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRl
ICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdD
b250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxl
LCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdl
YktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0
LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZv
bnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NG
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50
MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250
Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250LCBDR0ZvbnRSZWYgY2dG
b250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9hdHNGb250KGF0c0ZvbnQp
LCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44NDg5OTNiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC0y
NSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxh
dGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7
CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li5l
ZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJm
YWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFj
ZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3VsZCBt
YWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxlbWVu
dGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7CiAg
ICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCA2
YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5jbHVk
ZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFw
cGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uOWM2NjJhNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
QEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZv
cm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0
YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnRQbGF0
Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMsMTAg
QEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXgg
MTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBzdGF0aWMgaW5saW5l
IFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6
Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlk
Q29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRm
YjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1Ry
YW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFu
c3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJh
bnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAg
ICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZyZWN0
LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFwKHJl
Y3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4wODNlNThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250
UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCkBAIC00OSw3ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVi
bGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUg
Zm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVy
ZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVl
MTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0
ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2Rl
ZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRl
eHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9j
b250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgzYWFm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250
ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0U2tp
YV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJs
ZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJhd0xv
b3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUg
Zm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0
ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRo
YXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQg
YWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3Ig
cHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5V
TEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2Fs
bCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uMTBmYjA0NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVU
cmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3Jh
cGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDggQEAgY2xhc3MgSW50UG9p
bnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNz
IEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRy
YW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBl
ZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEz
NzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBt
YWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2
YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVk
ZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFu
c2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxv
YXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1h
dHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4xNjI4ZWViIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dG
b250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZv
bnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwor
cHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2Us
IGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVy
ZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXgg
M2FiNTJiOC4uNTE1NGVhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTI0LDcgKzI0LDYg
QEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDxjYWlyby5oPgog
CkBAIC0zMyw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6
IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAuLjU5NTFlNDkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0Nv
bnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3ND
b250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2Fs
V2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsV2luZG93c0Nv
bnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0
KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhh
QmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9n
cmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUg
PFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVu
aW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlw
ZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRN
b3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVu
dCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFU
TW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYx
MmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29y
bGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQu
Y3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2su
Y3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFU
VHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7
CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRG
bHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1
c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC0zNiw3ICszNSw4
IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FD
RkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0
Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFy
ZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNG
TGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5
ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTMyLDcgKzMy
LDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBAQCBwdWJsaWM6CiAvLyBG
SVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBX
ZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERp
cmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5
ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRlcmVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3
ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZv
bnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShuYW1lKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0
Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3Jt
RGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAj
aW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RF
WFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1
OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3ND
b250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3Jh
cGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAgc3RhdGljIHZvaWQgcm90
YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0bWFwKiBzb3Vy
Y2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAs
IHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIDog
Tm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRyYW5zcGFyZW50
TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIEludFJlY3QmIG9y
aWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwgaW50IGFscGhh
ID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFyZW50TGF5ZXJE
QygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRDOjpmaWxsQWxw
aGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6IE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURDUHJvdmlkZXIo
R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6IG1fZGF0YShk
YXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQs
MTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9u
dFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250
UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA1YTA0YmVlLi4xZDdi
OWY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVj
b2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVy
LmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4
TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFn
ZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGlt
YWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1
cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2Rl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihib29sIHByZW11bHRpcGx5
QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAgICAgICAgICAgICA6IG1f
c2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJk
TWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNm
Li44OWY4MzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAtNDQsNiArNDQs
NyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlwYm9hcmRNYWMg
OiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xp
cGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9h
cmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFt
ZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRH
cmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBo
aWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2
IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250
ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBU
aGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5T
R3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBw
S2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2Nh
bEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhp
Y3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxD
dXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFj
Lm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRp
bWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4K
ICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlv
bnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJs
b2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Qmxv
YkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Rm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWls
ZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRFbmNvZGluZyBl
bmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hhcnNldCwgRG9j
dW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29y
a1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0o
TUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5ldHdv
cmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVOb3Rp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAg
ICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRl
eCA5Y2NjZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25u
ZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xp
ZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNv
dXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291
cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVu
dFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0ZS4uMmI3NDE3MyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC00
OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5cGUgZGlyZWN0
bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVzb3VyY2VSZXF1
ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVl
c3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cg
dGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBUYXJnZXRUeXBlIHsKQEAg
LTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGluZSBib29sIG9w
ZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUoYSwgYik7IH0KICAgICBp
bmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDcm9z
c1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVz
dERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VS
ZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uY2I4YTUxZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAg
LTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0
bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJj
ZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVz
cG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NU
aHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZh
dGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpj
b21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsg
fQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNl
KTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsg
fQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25n
IG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5Nzg2Ny4uMTgxNThmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmlu
ZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVy
IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwog
cHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVz
b3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3Vz
TG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291
cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VI
YW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4
IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxl
LCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVy
IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwog
cHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVz
b3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsK
ICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0
LmgKaW5kZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaApA
QCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBTdGF0ZSBhdmFp
bGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3Rl
CiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlw
Ym9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRhYmxlQ2xpcGJv
YXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVE
YXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBj
MzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVE
YXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAg
LTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4g
Y29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVy
cnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFi
YXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAg
U1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5k
ZXggMTQ0NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50
LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxWYWx1
ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVt
ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1l
bnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFm
Li40MjdiMjk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2Fj
dGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAg
LTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNR
TGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVU
cmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rp
b24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFuc2FjdGlvbihTUUxpdGVE
YXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAgflNRTGl0ZVRyYW5zYWN0
aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggMWY4NzExNS4uMDU2
ZWQ3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMjMsNyArMjMsNiBA
QAogI2RlZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlkaUNvbnRleHQuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4IEBAIHN0cnVjdCBCaWRp
Q2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25leHQ7CiB9OwogCi10ZW1w
bGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBj
bGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJpZGlSZXNvbHZl
cik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAgIDogbV9kaXJlY3Rpb24o
V1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFy
RXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2Fz
ZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9U
ZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRD
b2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYv
dW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAot
ICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4
dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQog
ICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNv
bnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXgg
NjdkYjk3Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNj
b2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFu
c2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRy
YW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBG
b250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9v
bCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNv
ZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBi
b2FyZFdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2
NGI4NS4uMmQxNDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJk
V2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYg
KzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5n
IElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlw
Ym9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJ
RGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJh
bWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRv
d01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2Fn
ZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBA
QAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdl
QnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3Nh
Z2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3Nh
Z2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0
ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQg
cmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
YmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVk
ZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVn
aW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5U
aHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRl
ZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5U
aHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRo
cmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVh
ZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRl
ZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4
IGRlYWVjOTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3
LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTMsNyArOTMsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxs
eQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJl
cXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91
bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9h
ZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZGI5NDc4YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29s
dW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9k
ZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50
ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDku
LjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2Rl
ZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRo
aXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFy
ZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNj
YTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRl
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICsz
Niw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVy
T2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwog
cHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAK
ICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9
IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBh
cmVuYVNpemUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCmluZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAt
MzU0LDcgKzM1NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlckhhZExheW91dDsKICAg
ICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0
aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAg
IC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMg
YSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5
cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBA
IC02ODEsNyArNjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9j
b250aW51YXRpb247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRo
ZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9j
a1JhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1Jh
cmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lu
cyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9y
ZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0
aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9u
U3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRl
eCAxNDNjNzJjLi40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxP
YmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxp
dHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJv
eE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVm
IEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsK
IAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQYWludEF0TG93
UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIEltYWdlKiwg
Y29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFt
ZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVT
ZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25z
dCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAg
dm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaApp
bmRleCAyMzQ2NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNv
dXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uY2FkODQ1NyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBD
b21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJh
Y2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBS
ZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xh
eWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2lu
ZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJl
bmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9m
IGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgdmlydHVh
bCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKaW5kZXggMjUz
YTY3Mi4uMzFlMDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZs
b3cuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cg
YXJlIHNoYWRvd3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3Jk
ZXItaW1hZ2UpLgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUg
b2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94
LgotY2xhc3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVu
ZGVyT3ZlcmZsb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25z
dCBJbnRSZWN0JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlv
dXRPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2YgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitw
dWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjIzYjVlNjAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNl
KCkKICAgICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDA3Zjkz
M2YuLjEzM2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1NCw3ICsyNTQsOCBAQCB2
b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQg
Y2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0
YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZU1h
aW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlTWFpbnRhaW5l
cik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91dFN0YXRlTWFp
bnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNpemUgb2Zmc2V0
LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFn
ZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICsz
MCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVj
dG9yIDogcHJpdmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3Ig
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJs
aWM6CiAgICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAg
ICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NW
R0ltYWdlQnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9v
bHMuaAppbmRleCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VC
dWZmZXJUb29scy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1
ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFz
cyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFNWR0ltYWdl
QnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1hZ2VCdWZmZXJU
b29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VCdWZmZXJUb29scyk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0
JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBlZEFic29sdXRlVGFy
Z2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2UpOwogICAgIHN0YXRpYyB2
b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyKiwgUmVuZGVyT2JqZWN0
KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlv
dXRJbmZvLmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdN
YXJrZXJMYXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckRhdGEuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3
ICs0MSw4IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRy
aXg7CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR01hcmtlckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01hcmtlckxheW91dEluZm8o
KTsKICAgICB+U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHUmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaApp
bmRleCA0OTU5MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZXNvdXJjZXMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaApAQCAtMjIs
NyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIFJlbmRl
clNWR1Jlc291cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEg
c2V0IG9mIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNW
R1Jlc291cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZXNvdXJjZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsK
IGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwog
Ci1jbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdSZXNvdXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2Vz
Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1Jlc291cmNl
c0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDgg
QEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7
CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6
CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2Vz
Kik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQu
aAppbmRleCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9U
YWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIx
LDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRhYmxl
TGF5b3V0KFJlbmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpbmNsdWRlICJGbG9h
dFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAgZW51bSBUcmFuc2Zv
cm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBseUludmVyc2VUcmFu
c2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiB7IEZsYXR0
ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVy
dGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3Qg
aW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20g
PSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsK
IAotY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVy
dGljYWxQb3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUo
KQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERh
dGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRh
Mi4uZjIzZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERh
dGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCkBAIC0zMyw3
ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFnZTsKIAotc3Ry
dWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnREYXRhIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlwZShDT05URU5U
X05PTkUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVu
dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1
N2FkLi5kZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVy
Q29udGVudC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgK
QEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVy
Q29udGVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNv
bnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVu
dGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li5jNmVl
NTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBz
dHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxM
YXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZpbGxMYXllclR5
cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1NoYWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaApp
bmRleCBjYTgzYWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TaGFkb3dEYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29s
b3IuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQg
fTsKIAogLy8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3Ig
dGhlIHRleHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRv
d0RhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAg
ICA6IG1feCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVu
a0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgK
aW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7
CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQs
IGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVk
IGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQ
aGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBw
bGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVu
Z3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0z
OCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGlu
ZUJveCB0cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRp
b24uCiAvLyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0
TGF5b3V0RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxk
ZXIpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAg
IHZvaWQgYnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCop
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQw
NThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVy
U1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZv
ciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4
dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRF
bmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7
IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkz
ZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVk
ZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJT
dHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBT
VkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21p
bmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0
RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91
dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0
RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGlu
ZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMw
LDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAv
LyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2Vy
bmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1Rl
eHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Rl
eHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0
TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNw
YWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJh
c2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4u
Y2UwYmE0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBi
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNr
IGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNy
ZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tT
eW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3lu
Y2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02
Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNr
ZXIuaAppbmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
RGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5o
CkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBT
ZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNs
YXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFz
ZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6
ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRpYyBEYXRhYmFz
ZVRyYWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5k
aW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5z
YWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKKysrIGIvV2ViQ29yZS9z
dG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQ0LDcgKzQzLDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogLy8g
RklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8gVExTLiBLZWVwaW5nIGl0
IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJz
LiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSB2ZWN0b3IgaW4g
dGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25N
b25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlv
bk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBlbmRpbmdUcmFuc2FjdGlv
bk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBlbmRpbmdUcmFuc2FjdGlv
bihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMgdm9pZCByZW1v
dmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oIGIvV2ViQ29yZS9z
dG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40NjcyMDQyIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5h
bWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQs
IEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9z
dG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLjI0ZmUxOWMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3Jl
L3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTog
UmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFn
ZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhy
ZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNz
T3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3Jh
Z2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFn
ZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBj
Li5hYzI4YTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2Vy
LmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFz
cyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNh
Z2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNh
Z2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE9i
amVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0
aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJndW1lbnRzIGFyZSBhbHNv
IHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxlciB3aGVuIG5lY2Vzc2Fy
eS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5Vc2Fn
ZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgT3JpZ2luVXNh
Z2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9u
Q2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBm
ZWQwNjU3Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApA
QCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAg
QEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5z
YWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQK
IC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNh
Y3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgor
ICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRy
YW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1l
bnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3RE
YXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgK
aW5kZXggOTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9u
Q29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlv
bkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAg
ICAgIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJl
TG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5z
YWN0aW9uKik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNz
IFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25z
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8
UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgog
ICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdS
ZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hl
OwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9u
cyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3Vt
ZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5z
IGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNo
CiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRv
Y3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5k
ZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJh
cmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcg
KzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0
ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNs
YXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVu
dEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9u
dERhdGEuaAppbmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9T
VkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnRE
YXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhCbGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVk
ZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNW
R1BhdGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhC
eXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVh
bS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lm
IEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDgg
QEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWdu
ZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3Ry
ZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJl
YW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1
bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3
ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJD
b3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxF
KFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRo
UGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhD
b25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVh
bCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29s
IGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAw
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcv
U1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgK
QEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1
ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Bh
dGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQ
YXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRo
U291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291
cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmly
dHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRh
KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3Bl
Yy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdU
cmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9W
aWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGlj
OgogICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcAppbmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9n
cmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2Uu
Y3BwCkBAIC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZH
SW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9t
ZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xp
ZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlv
L1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlv
L1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7
CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVB
bmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29y
ZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4u
OGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDgg
KzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xh
c3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJM
JiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgp
ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgg
Yi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5
NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgK
KysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDks
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJT
b2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5u
ZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFu
bmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2Nv
bCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50
LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3
MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2Uu
aAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEz
ICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29j
a2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3Bv
bnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJT
b2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tl
dEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRz
aGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5j
b21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93
ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dl
YnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZh
Li5hYzgzZThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2Fk
ZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250
ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01v
ZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03
Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRo
ZSBicmlkZ2UuICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwK
ICAgICAvLyBsaWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFu
bmVsQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMg
V2ViU29ja2V0Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBl
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFw
cGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJD
b3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGEx
Li42OGY5NjI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUz
LDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclBy
b3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0
U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
RGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3Jp
cHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAg
IHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3Nh
Z2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRl
eHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0
NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2lu
ZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3
aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3Mg
T2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7
CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAg
IHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
CmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIK
ICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
QEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVz
c2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2Jq
ZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJv
eHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5n
UHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5M
b29wLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNm
Li43YjMxNDljIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAK
KysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDgg
QEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5n
KCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7
CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAg
ICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRl
ZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5o
CisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUo
KTsKIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
Y2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGlj
IFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFk
R2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2su
aCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRD
b3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVw
RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRy
PFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMg
V1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRw
UmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAg
IFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZp
eDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291
bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1
ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2Vi
Q29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3Jl
L3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVj
dCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZh
bHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAg
ICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlv
bjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmly
dHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVz
c2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAg
ICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRp
b25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIv
V2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhO
b2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFt
ZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1f
aXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAg
ICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3ht
bC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAt
NTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQg
dCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQogICAgICAgICB9Owog
Ci0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJz
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3Jl
L3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVk
aWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVl
OjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24q
KTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQ
YXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwv
WFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
ICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJs
aWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVwIDog
cHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVw
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAg
ZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxm
QXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAg
Ci0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAgIGVudW0gS2lu
ZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBv
cnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwv
WFNMSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUs
NiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0
OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNo
ZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVl
dCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNmViYTIxLi4zYTZjZGQ2
IDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
ZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAg
ICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBn
ZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFu
ZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVt
ZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NC
YXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6IFVwZGF0ZWQg
Zm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3Vu
ZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4
M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3Qu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAgLTMyLDE0ICszMiwx
NCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gQm91bmRPYmpl
Y3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2Qg
Y2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0
cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFu
ZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVj
dE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLjU5YzIxNzcgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCkBAIC00MCw3ICs0
MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4
cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBD
YWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xp
ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1
YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSks
IG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxs
ZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFn
ZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2
NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2Vy
QWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFu
YWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhw
ZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3By
aWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFn
ZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBo
YW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIpOwogcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50
KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdn
ZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENs
aWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTMyLDcgKzMyLDYgQEAK
ICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAogI2luY2x1ZGUgIkluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsKQEAgLTQ0LDgg
KzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xp
ZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVu
dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxl
ICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2Vi
RGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENs
aWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNB
Z2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5j
cHAKaW5kZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
ZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRlICJXZWJWaWV3
Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2IuLmIwODUzMzgg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAg
LTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVz
c2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250
ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRv
b2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGlj
OgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJ
bXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBh
ZGFhYjYxLi5jMDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0y
NzksNyArMjc5LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVn
aW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8g
b3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhv
ZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJv
bWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMg
UHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250
ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hy
b21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUq
IGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uNGZkNDJhNiAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcgQEAgc3RydWN0IFdlYlJlY3Q7
CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBvcHVwTWVudSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVu
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1l
bnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICAvLyBX
ZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXgg
NGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNp
bmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1j
bGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsy
Nyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQu
Y3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIu
LmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNw
cAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIy
LDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICov
CiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVz
b3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlh
YmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktp
dC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApA
QCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNl
UHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9Q
bHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMs
NyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpT
Qzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpT
VmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUq
LCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgs
IEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9i
amVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBi
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkx
MzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNl
VHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFj
a2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6
fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdp
bkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXgg
MWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysg
Yi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3Rm
L0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUg
PHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1
ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZh
cmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1
MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0
L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5N
QVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250
YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1W
QVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJs
aWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAg
ICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJU
eXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQv
d2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEv
V2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlC
YWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVu
a253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6
U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1j
bGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVy
dHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVBy
b3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlU
eXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9X
ZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBh
L1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4v
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToK
ICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBG
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIu
Y3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUy
YjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysg
Yi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3Rh
dGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1
cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJh
ZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRh
YmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0
IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVy
biBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3Bh
dGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1
cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5z
cGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0
YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dp
bi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rv
cl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNw
ZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYklu
c3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmll
dyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAg
Yi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTli
OTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisr
KyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBA
QCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJl
dHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExv
Y2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVm
IHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRl
eCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxk
LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNz
IFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdv
cmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0
YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8
V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVl
LmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJp
YWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApA
QCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJp
YWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJs
aWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJp
dmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwog
cHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUlu
c3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZi
NjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIs
NyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9u
Y29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVz
ZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVi
bGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJ
bnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjMg
IFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUg
YW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFs
bG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYs
ICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBp
bmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFi
bGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTEx
LTIyICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgcGF0aHMg
cmVsYXRpdmUgdG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0byBhY2Nlc3Mgc2hhcmVk
IC52c3Byb3BzIGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmlu
YXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3Jl
LmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9C
aW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCaW5hcnlTZW1hcGhv
cmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNl
IENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktp
dDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBN
b2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAg
TW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVk
TWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0
Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJl
ZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTUyLDcgKzUx
LDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFu
ZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAg
ICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRl
ICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIlNo
YXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZP
Uk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVj
dGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAK
IGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNz
JiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgg
Yi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44YzVlOGUzIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5lIENoaWxkUHJv
Y2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90
ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAg
ICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9O
UE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVj
dE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAorKysgYi9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMw
LDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL25wcnVu
dGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFy
ZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2Jq
ZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0gYS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5z
L05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5fUFJP
Q0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXQy
L1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5z
aW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQv
U2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24u
aApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9uX2gKIAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaCBi
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCmluZGV4IGU4
ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmlu
ZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZElu
ZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJbmRpY2F0b3JX
aW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9ydCA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1Jl
ZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUyLi4wZGM3YTlj
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5h
Z2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdl
ci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQxLDcgKzQwLDgg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBX
ZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDogTm9uY29weWFi
bGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4uOWUxNzQyZSAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3Jl
V2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3Rv
cmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0
b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3RvcmllczsKIH0KIAot
Y2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2Vy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQ
YXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNz
L1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRM
aW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTguLjhiMDAzMzMgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcgKzI4LDYgQEAK
IAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
UmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1NCw2IEBAIGNsYXNz
IFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5k
ZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRv
d25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9h
ZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1h
bmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgK
aW5kZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rv
d25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxv
YWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERvd25sb2Fk
TWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5k
bGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpT
T2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0
LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1l
X2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8vIE5QSlNPYmpl
Y3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3MgTlBKU09iamVj
dCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09iamVjdCA6IHB1
YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09iamVjdCk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAq
IG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
ci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0y
OSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rpb25zIGZvciB0
aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1jbGFzcyBQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKKysrIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBA
QAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXkuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZjNzE5IDEwMDY0
NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5k
ZXggODI0YjcxNy4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTIzICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFu
ZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxv
Y0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAj
NDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5o
ZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxl
LmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAq
IEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTEx
LTE4ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMsNyBAQAogCiAyMDEwLTA3
LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29t
bWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8Kg
dG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0
IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdl
ciBhbmQgTGVvcGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9tYWluLmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFi
bGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgK
QEAgLTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAg
dHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3Vu
ZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkg
YWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQq
IHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Bw
Qm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAg
cHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RFJURGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RFJURGV2VG9vbHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgK
QEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9v
bHNBZ2VudENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBA
IHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVu
dDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xz
QWdlbnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdl
bnRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwog
cHVibGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29s
c0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50
LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHND
bGllbnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3Mu
aCIKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVu
dC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7
CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDog
cHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAg
ICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQg
OiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9v
bHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1
YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4
IGI2NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEs
NyArMTExLDggQEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xs
ZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24g
YXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVz
dE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0
aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNv
bnRyb2xEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJU
aGVtZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4
dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUv
Y29yZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEg
Zm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNv
bnRyb2xEUlQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJU
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGlj
OgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4g
V2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBz
ZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVu
Z2luZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVF
bmdpbmVEUlQuaAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4
LDkgKzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2lu
L1dlYlRoZW1lRW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNz
IFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6
OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2lu
ZURSVCk7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dl
YktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRv
b2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZp
bmUgSG9zdFdpbmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdp
bmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoK
ICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJL
aXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIv
V2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4
LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysg
Yi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDEx
ICsyNywxMCBAQAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQy
L1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBUZXN0SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3Qg
Y2hhciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74665</attachid>
            <date>2010-11-23 07:58:18 -0800</date>
            <delta_ts>2010-11-24 00:20:49 -0800</delta_ts>
            <desc>playing with Chromium&apos;s EWS bots round #3</desc>
            <filename>kedd5.patch</filename>
            <type>text/plain</type>
            <size>327164</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRm
NmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgU2F0aXNoIFNhbXBhdGggIDxz
YXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgg
Yi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZX
RF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggODVkYjZmZC4u
OTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU1OCwx
MCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJ
CQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi5iMmFjODY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAg
c3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91
c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3Jp
cHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNo
ZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRleCA0YzI1NDA3
Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwx
MiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmll
bmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9v
a3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
ICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1
Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyBy
ZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdp
Y2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdX
cmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVn
V3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFy
ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4
IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAg
IHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHku
IFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2
YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUo
SlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1Li4y
NzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRv
dzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4g
PiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBm
cmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7
CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+
V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5j
b250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBA
CiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0g
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxlcihXb3JrZXJDb250ZXh0
Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
CmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC00Myw3ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJlYWQuICBUaGUgRE9NRGF0YSBm
b3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3IgY2hpbGQgdGhyZWFkcwogICAg
IC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERPTURhdGEo
KTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0xNDksNyArMTQ4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMg
bWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YVN0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3RvcmUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01Ob2RlTWFwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQy
ZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAiT3duSGFuZGxlLmgiCiAjaW5j
bHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAg
ICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1j
bGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jp
cHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2
ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBiNzVhMDU0Li5lMDk2OWUxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNp
bmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRT
dGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRp
dGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi5kYzI0NzEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3Mg
UGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1
YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0Vt
cHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNl
cHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgp
IHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShz
Y3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAog
Ly8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMg
YW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRl
IHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAg
ICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0
ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBA
QAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRp
bmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhv
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJh
bWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2FkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
cmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9C
cmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDgg
KzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3Mg
Q2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAg
ICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3Qg
SWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZp
ZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0
IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDgg
QEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0
OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQ
YXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaApAQCAt
MzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5o
CmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcg
QEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENT
U0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VW
YWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLjczZjJhY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4u
MDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFt
ZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0
b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93
blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMWRhMjBiNy4uOTcyZjc3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5k
U2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNz
IENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Bh
cnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyAr
ODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7
CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAgICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVM
aXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENT
U1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50
IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFs
c2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAg
OiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7
IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0YWFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0
LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsK
IAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVs
ZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9y
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1NlbGVj
dG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMw
Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lmaWNpdHlG
b3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsK
IAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJlRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJh
cmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAgICAgICAg
ICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApp
bmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3
LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rv
ckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1NlbGVjdG9y
TGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZmM2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7
IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4xM2ZjOTdlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1j
bGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQo
Y29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHBy
ZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlz
IGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9u
IGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3Vt
ZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVk
RWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBh
Z2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdy
b3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1
cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hl
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBi
b29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyArMzE4LDggQEAgcHVibGljOgogICAgICAg
ICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5
UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1Nl
bGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3Np
dGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgICAgICA6IG1fZmlyc3Qo
bmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRleCAyODEwMDliLi43
ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gUmVz
dHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9uZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hh
cmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhl
IGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2Jh
YmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkg
c2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3Ig
ImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICsz
OCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAK
LWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRp
YVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1
ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAg
Yi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFz
eW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBD
YWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAg
ICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsK
KyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBj
YWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYo
KXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5o
CmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBA
IGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVu
dDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3lu
Y1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5
bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
IGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvV2ViQ29yZS9kb20vRE9N
U3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3
ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGlu
dCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01T
dHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwg
fkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODNiYTg4NS4uODQxYmIyNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAg
ICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29u
dGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1l
bnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRv
Y3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4uNTBlYzg4MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7
IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5o
IGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVkMzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYg
KzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVudF9oCiAKKyNpbmNsdWRlICJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zMSw4ICszMiw2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKLQogICAgIGNsYXNz
IEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+IHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAvLyBl
bmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBFdmVudE5hbWVzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMTRk
OTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFu
bmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAK
QEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBw
b3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNz
IEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0
YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFz
c093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAg
ICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAg
cHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzogICAgCiAg
ICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3RhYkluZGV4KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgK
aW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBA
QCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFt
ZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxR
dWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJl
YjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNj
cmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVt
ZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgy
YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysg
Yi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKKyAg
ICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
PSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBz
byB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUg
Y29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAg
LTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU3BhY2VT
cGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0
cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
U3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uo
c2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5o
CmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsy
Myw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQ
bGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBE
ZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVy
ZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGlj
YXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwog
cHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJu
IHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1
cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHBy
b2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxl
bWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2My
Li5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisr
KyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6
IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMyODVmLi42ZWRlNzg2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAg
ICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsK
ICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQxOTMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFhNTERvY3VtZW50UGFy
c2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKFhTTFQpCiAjaW5jbHVkZSA8bGlieG1s
L3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVu
dFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApp
bmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlw
ZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9
OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVw
bGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVu
dEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50
KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRG
cmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29y
ZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAi
VmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0
aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlv
bk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rp
b25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxl
ZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTlj
NzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBA
IHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNz
IFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hl
Y2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBl
cik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NS
ZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVw
cyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhl
IGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMg
ZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYg
PGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJp
bmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQu
aApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQg
c3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4u
MTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkg
cG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
cGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhh
dCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxs
ZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVy
LmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4u
MDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmls
ZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0Nh
bGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBl
bmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxs
YmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJl
c3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlw
ZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmlu
ZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9s
bGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
ICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3Rv
cnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NS
ZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAot
ICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUq
IHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZh
Li5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysr
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rpb25DYWNo
ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uZTE1MDczMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tl
bkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLmUwZGJj
YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2Vw
YXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVj
dCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBFdmVudEhhbmRs
aW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmVm
UHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWlu
YXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQ
YXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBk
ZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3Mu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQog
ICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2Zh
Li5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNs
YXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0
eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBv
c2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8g
Y2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBl
PiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4x
ZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdl
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAot
Y2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29s
IGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4
IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3Mg
VmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlv
bk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApA
QCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCBhMjVlOGExLi4xNGY1YTBhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBA
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7
CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZp
cnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVs
b2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGlj
OgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1Ymxp
YzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rp
b25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQq
IGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhU
TUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDog
bV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRl
eCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZkNDExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVu
dFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNz
IFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2Fy
ZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJk
IChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1l
bnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNrKCk7CiAgICAgfkhUTUxF
bGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIH5FbGVtZW50UmVj
b3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5mNzVm
YTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVu
dExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50
OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNs
YXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBhNzA5YmQ5Li42NDJlNDM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0
ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRo
ZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAi
bGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAgICAgICA6
IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjksOCBAQCBwcml2YXRlOgogICAgIFNlZ21l
bnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0U3RyZWFt
KQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBA
CiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFz
cyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
UGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2No
ZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3Mg
U2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAi
TmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmlu
aXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBl
bmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgog
ICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxz
ZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBz
aG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8g
ZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1j
bGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWlj
SFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwog
cHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6
IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4
IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVu
dGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFz
cyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAg
ICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAg
ICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBj
bG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAK
LWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVy
VG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQo
dG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAg
ICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtl
SW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxk
ZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5z
ZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWls
ZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1
aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRl
eCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0Lmgi
CiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1
bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTFRva2VuaXpl
ciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywg
Ym9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDMsNyArMjAzLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFu
ZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWln
bkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJh
Z21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVs
ZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaApAQCAtMjgs
NyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIodW5zaWdu
ZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25lc3RpbmdMZXZlbCgmbmVzdGluZ0xldmVs
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlw
dENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwog
Ci1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25z
b2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5z
aWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBj
ZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0
LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3Bl
Y3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxl
ciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAg
ICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlkOS4uZjljMTA0MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25z
ZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+ID4gRE9NU3RvcmFnZVJlc291cmNlc01h
cDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5NTAx
YWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2
ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3Bl
Y3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmlu
ZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3
ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwog
ICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFw
U25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxl
ckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKik7CiAgICAg
dmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUwMjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51
bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxp
bmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBT
Y3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBTY3JpcHRDYWxs
U3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQu
LjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNs
YXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAg
ICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAot
ICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsK
IAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVk
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2
YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgIH0K
ICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzgzLDgg
KzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxG
cmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNsaWVu
dCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1
YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlD
b250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
RW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4dE1l
bnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVkKCkg
eyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShDT05U
RVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0Ns
aWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6Cisg
ICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9pbnQm
LCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAsMTAgQEAgcHVibGljOgogfTsKICNlbmRp
ZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6
IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4
IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1
bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZp
Z2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9u
KGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0
LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBt
X2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCmluZGV4IDE0MDBj
MjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNj
aGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlv
blNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtMzQsNyAr
MzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0
byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFz
IHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwg
dGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgot
Y2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBA
IC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5
YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0
aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlh
bFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0
aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29w
eWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1LDggQEAgY2xh
c3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsK
IAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBy
b2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIo
KTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9S
ZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKaW5kZXggYjZkZTMxMi4uOTZmN2Ix
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAK
LSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1
ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNl
TG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNr
UG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcw
NDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2Fk
Tm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9h
ZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmll
cik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQy
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1Ymxp
YzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2
ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhv
c3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDEx
ZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIu
IEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJh
bWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1
YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxl
TG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90
IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0
aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAog
ICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRh
YmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VF
cnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVM
b2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2Vu
dCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAg
LTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAK
ICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3Vw
LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAppbmRl
eCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBk
YXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29u
dGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlh
YmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAg
OiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGlj
YXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5
ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li42
NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9z
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUg
U3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAg
ICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwog
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAg
ICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAor
KysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApA
QCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgUmVxdWVzdDsKIC8vIEEgcmVzb3VyY2Ug
dGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBv
YmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0
IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZl
ZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRo
IHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xh
c3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJp
ZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBA
CiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3Zlcmxv
YWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsg
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBm
MzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJM
OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBz
Y3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBD
YWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hl
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2
YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1v
cnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRo
aXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1l
bW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNo
ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4
IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1j
bGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0
YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAg
ICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVm
aW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhv
ZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3By
aWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJh
c2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBw
ZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFl
YmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxv
YWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRl
KEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNv
bi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBp
Y29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJM
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVj
b3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
aW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNs
dWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNv
dXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBj
bGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0K
ICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxi
YWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEz
MDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYg
KzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAK
ICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRl
KGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlm
aWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92
aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4
NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNv
bnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51
Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRN
ZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAg
ICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFn
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRy
b2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0
ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJh
cnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSop
OwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRs
ZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdT
dGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhh
bmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8g
ZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2Ug
Z2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2Ry
YWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
dmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMuLjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgog
I2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4
ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZy
YW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhp
c0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZl
cnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGlt
dW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25l
IGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0
c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVk
dWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVs
ZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9k
ZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5k
ZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFz
cyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9s
bGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0
dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBh
Z2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRp
bmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApp
bmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNj
cmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3Jv
dXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
UGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERl
ZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41YjcwNzIzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFs
dGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhh
bHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVy
KFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4
dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0
aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5k
ZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5w
dXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJl
cXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVj
aCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBl
bGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZv
ciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0
cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNo
SW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6
CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVl
Y2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5o
CkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNj
cmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1
cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0
LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0
eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyAr
MzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
d2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9y
LmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxk
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2Ny
aXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVz
ZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3Mg
WFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAg
ICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFz
ZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0
eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3Bl
cnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBl
ckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb3BlcnR5V3Jh
cHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00MzgsNyArNDM5
LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
QmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBl
ckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGlj
OgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0
ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3
MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFu
aW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApp
bmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1
cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9
CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2
ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAg
ICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRl
eCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNG
aWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFj
ZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3Rl
IHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0Zp
bGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAg
IHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBA
IGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBG
aWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4g
YSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmly
dHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0
b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApA
QCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRv
ZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBf
X09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFz
cyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRv
ZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29s
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgog
ICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2Ry
YWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51Lmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0
TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDog
cHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uMTEyNjU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENv
bnRleHRNZW51SXRlbShQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaAppbmRleCA0N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0
ckxpc3RfaAogCiAjaW5jbHVkZSAiRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8
Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBs
KGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0
KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1
ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17Citj
bGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJl
Y2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVw
cmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZl
bnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9v
cCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2Vu
ZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2
NS4uZDYwYWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3
ICsyNiw3IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0
aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3
dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJl
ZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZp
Y2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAg
IHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGll
bnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2lu
ZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2
LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAog
ICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBj
b250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVy
d2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZv
aWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLmM0MjlhNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIs
NyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25z
dCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZv
ciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNl
bnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBM
ZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDAp
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li40OTZmYmIzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgx
LDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291
cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9I
ZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li42YTM2MzE5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDgg
QEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAg
ICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwg
Z3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNz
ZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgK
aW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJn
ZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBA
IC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUg
IlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGlt
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhj
NTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZp
bmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAK
LWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVu
TG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFz
ZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1
bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWly
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZv
cm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xh
c3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFy
VGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAg
IHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQo
U2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0
Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4u
MTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZu
ZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhy
ZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGlt
cGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQg
YnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1
c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hh
cmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU2hhcmVkVGltZXIoKSB7IH0KICAgICAg
ICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rmly
ZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTQ1LDcg
KzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFw
cGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNsYXNzIFRocmVhZEdsb2JhbERh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9iYWxEYXRhKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAgICAgflRocmVhZEdsb2JhbERh
dGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBUaHJlYWRUaW1l
cnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFz
ZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBU
aHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQw
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5l
IFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVy
QmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJl
ZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
cmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNv
dW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXgg
OWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlv
bkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25M
aXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlv
bkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4YjgxLi4zOThlMTI3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gK
IAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJl
cHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBtb3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBU
aGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bwb3NlZCB0byAiaW50ZXJsZWF2ZWQiLgog
Ly8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBpcyBtb25vLCBhbiBBdWRpb0J1cyB3aXRo
IHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNsYXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIENoYW5uZWxMZWZ0ID0g
MCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVl
OWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0
IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBh
IGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4K
IC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWlu
YWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSBy
ZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zs
b2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2Iz
OGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaApAQCAtMzEs
NyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZL
ZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91
YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCmlu
ZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlv
bi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhSVEZFbGV2YXRpb25faAogCiAjaW5jbHVk
ZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVm
dCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3Vs
YXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZF
bGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2
YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZh
dGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAv
LyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0
LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMg
d2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0NsaXBib2FyZENocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZENocm9taXVtLmgKaW5kZXggMWQ2OTkyMS4uOGQ2ZmEyMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaApAQCAtNDIsNiArNDIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW50UG9pbnQ7CiAKICAgICBjbGFzcyBDbGlwYm9h
cmRDaHJvbWl1bSA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29w
eWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJh
bWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkK
ICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3Iu
aAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxpbmUg
aW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAmIDB4
RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBjb2xv
ciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1
cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAgICAg
Q29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVjLi4w
NzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFk
b3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2lu
ZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2FjaGUo
KQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleShjb25zdCBB
dG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1bnNpZ25lZCBzaXplID0gMCwg
dW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxzZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFsc2UsIEZvbnRSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2RlLCBGb250T3JpZW50YXRpb24g
b3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1fc2l6ZShzaXplKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4NDVkOS4uNGZhNzQxNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZv
bnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRh
OwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uMGViNjY4NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAj
ZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgwKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJj
Yy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1l
dHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAKIGNv
bnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNs
YXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFz
cyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEds
eXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxl
ZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDZhZGM5MGIuLmJhNzg5
YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAj
aW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE1Myw3
ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25IaWdo
CiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwog
ICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0zNTYsNyArMzU2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9v
bCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0OwogCi0g
ICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dzQml0
bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGMyZDVjMjQu
LjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25mbGljdGlv
biBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoV0lORE9XUykp
IHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCmlu
ZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04NCw3ICs4NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGlj
c0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhm
YWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkx
Y2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xh
c3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJl
IHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZp
YSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVk
IGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmlt
YXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUsIFBh
c3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAgOiBt
X2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBAQCBwcml2YXRlOgogCiAvLyBVc2Vk
IHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3
aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVkIGZy
b20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVMaXN0
KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFs
bG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+
IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBDb2xv
clNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCmlu
ZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291
cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYsOCBAQCBj
b25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0aW9uTG9v
cEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAotY2xhc3Mg
SW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAgICBJbWFn
ZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdhbW1hQW5k
Q29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBlODdjNTNjLi4zMTY1NDc4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5
IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBs
YXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3Qg
TWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVyRmFj
dG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3Jl
YXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlw
ZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlw
ZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAg
ICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uNzFjOTlkOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0Niw3
ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xp
ZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZpcnR1YWwgfk1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXggYmEy
NWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRo
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExBVEZPUk0oQ0cp
CkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZv
aWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVudCop
OwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQ
YXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi44ZTNhMDQxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRp
bGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7
CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMxZjgu
LjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBl
ZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9f
Zm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwog
Ci1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZU
X0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFz
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5k
ZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRleHR1
cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNE
OwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVk
R3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAg
IH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggNTMxZDY1Mi4uM2M3MWFj
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tC
aXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggMWYzMzUyNy4uNTI2YTg3YiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJm
YWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNpbmNsdWRlICJGbG9h
dFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllckNocm9taXVt
OwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVyQ2hy
b21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExheWVy
Q2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAt
MzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAi
SW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0Zi9P
d25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRyYW5z
cGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21wb3Np
dGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5hYmls
aXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0
LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lX
aW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVudW0g
TGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2lu
ZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLjBmNGM5NTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsNyArNzYs
OCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNsYXNz
IFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdp
bGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxsUHVi
bGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNo
Q2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZp
ZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJfaAog
I2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENs
YXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29wQmxp
bm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNsYXNz
aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIpOwog
cHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2
ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1
bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2Nh
bFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50
M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRy
aWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBwb2ludCB2
ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkxvY2Fs
VHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0aGUgdHJp
YW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRoZSBwb3Np
dGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8gY29v
cmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgpOwogICAg
IHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVm
ZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRl
ICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhiYWVmLi41
ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVu
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2
aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9m
IG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxs
b2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50
ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRy
ZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUg
IlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDggQEAg
c3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcgbikpIGlu
c2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0aGUgdHJl
ZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJ
bnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKK2Ns
YXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8
VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVydmFsVHJl
ZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFy
aW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1
NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJl
ZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlICJMb2dn
aW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5v
ZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAg
IC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRo
IHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3
bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUo
Y29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBl
ciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50
cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1
YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQoMCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1
NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwg
dW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwxNCBAQAog
I2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFJl
Y3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGlu
Z0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQg
dG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBp
bnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
V2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRl
ICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdD
b250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxl
LCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdl
YktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0
LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZv
bnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NG
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50
MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250
Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250LCBDR0ZvbnRSZWYgY2dG
b250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9hdHNGb250KGF0c0ZvbnQp
LCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44NDg5OTNiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC0y
NSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxh
dGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7
CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li5l
ZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJm
YWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFj
ZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3VsZCBt
YWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxlbWVu
dGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7CiAg
ICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCA2
YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5jbHVk
ZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFw
cGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uOWM2NjJhNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
QEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZv
cm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0
YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnRQbGF0
Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMsMTAg
QEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXgg
MTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBzdGF0aWMgaW5saW5l
IFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6
Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlk
Q29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRm
YjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1Ry
YW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFu
c3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJh
bnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAg
ICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZyZWN0
LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFwKHJl
Y3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4wODNlNThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250
UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCkBAIC00OSw3ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVi
bGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUg
Zm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVy
ZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVl
MTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0
ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2Rl
ZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRl
eHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9j
b250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgzYWFm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250
ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0U2tp
YV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJs
ZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJhd0xv
b3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUg
Zm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0
ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRo
YXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQg
YWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3Ig
cHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5V
TEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2Fs
bCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uMTBmYjA0NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVU
cmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3Jh
cGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDggQEAgY2xhc3MgSW50UG9p
bnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNz
IEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRy
YW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBl
ZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEz
NzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBt
YWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2
YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVk
ZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFu
c2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxv
YXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1h
dHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4xNjI4ZWViIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dG
b250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZv
bnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwor
cHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2Us
IGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVy
ZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXgg
M2FiNTJiOC4uMDY5OTFjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTI0LDcgKzI0LDYg
QEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDxjYWlyby5oPgog
CkBAIC0zMyw3ICszMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgog
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQog
ICAgICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAu
LjU5NTFlNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2Fs
V2luZG93c0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2Nh
bFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
V2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhp
Y3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3Vw
cG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAg
ICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQsNiBAQAog
I2luY2x1ZGUgPFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02Myw3ICs2
Miw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3Vw
cG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAot
Y2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmll
VGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0Ns
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGlj
OgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4IGUxM2Y3
MzIuLjI2ODYxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FU
TW92aWVHV29ybGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92
aWVHV29ybGQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9u
ZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVz
cGFjZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFFUVHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNr
UHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1By
aXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FD
RkNvbnRleHRGbHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZD
b250ZXh0Rmx1c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC0z
Niw3ICszNSw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NB
Q0ZDb250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVz
aGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
V0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAg
LTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FDRkxheWVy
LmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBAQCBwdWJs
aWM6CiAvLyBGSVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBm
b3IgZWFjaCBXZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRl
eHQgYW5kIERpcmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5
ZXJSZW5kZXJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRl
cmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBjcmVhdGUo
V0tDQUNGTGF5ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRlcmVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVk
ZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3
LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgdW5y
ZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAgICBz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3Qg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShuYW1l
KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9u
dFBsYXRmb3JtRGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yOCw3ICsy
OCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udE9yaWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVkZWYgc3Ry
dWN0IHRhZ1RFWFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDA4MDI4
MjYuLjgyNDU1OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
R3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAgc3RhdGlj
IHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0
bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+
KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRM
YXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRy
YW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIElu
dFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwg
aW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFy
ZW50TGF5ZXJEQygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRD
OjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURD
UHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6
IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5j
bHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBj
bGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA1YTA0
YmVlLi4xZDdiOWY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L0ltYWdlRGVjb2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1h
Z2VEZWNvZGVyLmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Ly8gc2V0TWF4TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVj
b2RlZCBpbWFnZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRl
IHRob3NlIGltYWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxz
LiAoTm90IHN1cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIElt
YWdlRGVjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihib29sIHBy
ZW11bHRpcGx5QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAgICAgICAg
ICAgICA6IG1fc2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
Q2xpcGJvYXJkTWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRl
eCA3MTg3ZWNmLi44OWY4MzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlw
Ym9hcmRNYWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAt
NDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlw
Ym9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBO
U1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZy
YW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2Nh
bEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0x
Nyw3ICsxNyw2IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3Jh
cGhpY3NDb250ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAg
ICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBj
dXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0
IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNs
YXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJy
ZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAg
ICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJl
ZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01l
c3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3Rm
L0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYg
VmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9y
bURhdGFCdWlsZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRF
bmNvZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hh
cnNldCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYs
NyArMjYsNiBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdv
cmtTdGF0ZU5vdGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYg
UExBVEZPUk0oTUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3Jr
U3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVO
b3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlm
aWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKiko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJu
YWwuaAppbmRleCA5Y2NjZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3Mg
TlNVUkxDb25uZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNl
SGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hv
dWxkQ29udGVudFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0ZS4uMmI3
NDE3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5
cGUgZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVz
b3VyY2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNv
dXJjZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0LCBiYXNl
ZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBUYXJnZXRU
eXBlIHsKQEAgLTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGlu
ZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUoYSwgYik7
IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0cnVjdCBD
cm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291
cmNlUmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAg
UmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uY2I4
YTUxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VC
YXNlLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBD
cm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xh
c3MgZGlyZWN0bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFz
cyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJl
c291cmNlUmVzcG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25Q
dHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEw
IEBAIHByaXZhdGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9u
c2VCYXNlOjpjb21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEo
YSA9PSBiKTsgfQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2Ug
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJh
c2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25z
ZURhdGFCYXNlKTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRh
QmFzZSgpIHsgfQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAg
bG9uZyBsb25nIG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5Nzg2Ny4u
MTgxNThmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUhhbmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9u
b3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFu
ZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNM
b2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVy
cm9yJiwgUmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
d2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4v
UmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03
Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1
ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9u
b3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFu
ZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNM
b2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVy
cm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0Ns
aXBib2FyZFF0LmgKaW5kZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJv
YXJkUXQuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBT
dGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBj
b3B5L3Bhc3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJs
aWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNy
ZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRh
YmxlQ2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2Uu
aAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFi
YXNlLmgKQEAgLTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7
CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJl
c3VsdEludGVycnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNR
TGl0ZURhdGFiYXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJs
aWM6CiAgICAgU1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVt
ZW50LmgKaW5kZXggMTQ0NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
U3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FM
aXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxp
dGVTdGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRl
U3RhdGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFu
c2FjdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRl
eCA5MjQyNDFmLi40MjdiMjk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVUcmFuc2FjdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0
aW9uLmgKQEAgLTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAj
ZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFz
cyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRl
VHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9u
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFuc2FjdGlv
bihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAgflNRTGl0
ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJl
c29sdmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggMWY4
NzExNS4uMDU2ZWQ3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNv
bHZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMjMs
NyArMjMsNiBAQAogI2RlZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlkaUNvbnRl
eHQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4IEBAIHN0
cnVjdCBCaWRpQ2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25leHQ7CiB9
OwogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29s
dmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xh
c3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJp
ZGlSZXNvbHZlcik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAgIDogbV9k
aXJlY3Rpb24oV1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcm
LCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1vcnk+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNs
dWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5
WzMyXTsKIAotICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgVGV4dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVj
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2Rl
YygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcg
ZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNl
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5z
Y29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVy
LmgKaW5kZXggNjdkYjk3Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5l
IEZvbnRUcmFuc2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xh
c3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5z
Y29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5nJiB0ZXh0
LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7
CiAgICAgYm9vbCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0
IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
d2luL0NsaXBib2FyZFdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgK
aW5kZXggY2U2NGI4NS4uMmQxNDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
Q2xpcGJvYXJkV2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgK
QEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFi
bGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBj
bGFzcyBDbGlwYm9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9h
cmRUeXBlLCBJRGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBv
bGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2lu
ZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEz
ICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5k
b3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdp
bmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdp
bmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9p
ZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3Rh
dGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5EYXRhYmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VI
YXNoPiBQbHVnaW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDgg
QEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBs
dWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1
Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2lu
TWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgdHlwZWRlZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5oCmluZGV4IGRlYWVjOTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5WaWV3LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTMsNyAr
OTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1
Y2Nlc3NmdWxseQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZy
YW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwg
Ym9vbCBzaG91bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0
KGZyYW1lTG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5J
bmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZGI5
NDc4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAg
ICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL0NvdW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4
IDUyOWQ0MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJO
b2RlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMs
NiBAQAogI2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAKIC8vIFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZp
bmRpbmcgcGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5o
CmluZGV4IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xh
eW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zNyw3ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xh
c3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0
U3RhdGUpOwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQo
ZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJB
cmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3lj
bGVkU2l6ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFy
ZW5hKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1
bnNpZ25lZCBhcmVuYVNpemUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oCmluZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaApAQCAtMzU0LDcgKzM1NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlckhhZExh
eW91dDsKICAgICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZsb2F0aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6
CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9h
dEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAg
ICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0g
MyB9OwogCkBAIC02ODEsNyArNjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9i
amVjdCogbV9jb250aW51YXRpb247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBz
b21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBS
ZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9j
a1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJl
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBSZW5k
ZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6
IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1h
cmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9j
ayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9w
YWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcAppbmRleCAxNDNjNzJjLi40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUg
Y0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWly
PFJlbmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7
CiB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50
U2l6ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQ
YWludEF0TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCos
IEltYWdlKiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0
YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4aXMoKTsK
ICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVz
b3VyY2UuaAppbmRleCAyMzQ2NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2VSZXNvdXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFn
ZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJ
bWFnZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uY2FkODQ1
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDgg
QEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5k
ZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgog
Ci1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBH
cmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXll
ckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlckxh
eWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Ny
b2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFy
cXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAg
ICAgdmlydHVhbCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgK
aW5kZXggMjUzYTY3Mi4uMzFlMDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT3ZlcmZsb3cuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCkBA
IC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwg
b3ZlcmZsb3cgYXJlIHNoYWRvd3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBvdXRsaW5l
IGFuZCBib3JkZXItaW1hZ2UpLgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQgb25seSB3
aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGluIHRoZSBv
d25pbmcgYm94LgotY2xhc3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUmVuZGVyT3ZlcmZsb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92
ZXJmbG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVy
Zmxvdyhjb25zdCBJbnRSZWN0JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDog
bV90b3BMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2YgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICsz
Niw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwog
fTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEu
LjIzYjVlNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbklu
Zm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMw
LDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rp
b25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25J
bmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jh
c2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlv
bkluZm9CYXNlKCkKICAgICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmlu
ZGV4IDA3ZjkzM2YuLjEzM2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1NCw3ICsy
NTQsOCBAQCB2b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3Rh
Y2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNz
IExheW91dFN0YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlv
dXRTdGF0ZU1haW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRl
TWFpbnRhaW5lcik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91
dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNp
emUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9IDAs
IGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDAp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMu
LjhiZjZhYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3Rl
Y3Rvci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBA
IC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lk
Z2V0UHJvdGVjdG9yIDogcHJpdmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQ
cm90ZWN0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rv
cik7CiBwdWJsaWM6CiAgICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2Jq
ZWN0KQogICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdl
QnVmZmVyVG9vbHMuaAppbmRleCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHSW1hZ2VCdWZmZXJUb29scy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZH
KQogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBGbG9hdFNp
emU7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNz
IFNWR0ltYWdlQnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1h
Z2VCdWZmZXJUb29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VCdWZmZXJU
b29scyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3Qg
RmxvYXRSZWN0JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBlZEFi
c29sdXRlVGFyZ2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2UpOwogICAg
IHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyKiwgUmVu
ZGVyT2JqZWN0KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdN
YXJrZXJMYXlvdXRJbmZvLmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFCTEUo
U1ZHKQogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckRhdGEu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC00Miw3ICs0MSw4IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5z
Zm9ybSBtYXRyaXg7CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR01hcmtlckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01hcmtlckxh
eW91dEluZm8oKTsKICAgICB+U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNv
dXJjZXMuaAppbmRleCA0OTU5MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMu
aApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNs
YXNzIFJlbmRlclNWR1Jlc291cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8v
IEhvbGRzIGEgc2V0IG9mIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QK
LWNsYXNzIFNWR1Jlc291cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNv
dXJjZXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5k
ZXJTdHlsZTsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVz
b3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
UmVzb3VyY2VzQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNW
R1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5
LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xl
U29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29s
dmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7
CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZH
UmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFi
bGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0
LmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRh
YmxlTGF5b3V0X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFRhYmxlTGF5b3V0KFJlbmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRh
YmxlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpbmNs
dWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNm
b3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9y
bVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAgZW51
bSBUcmFuc2Zvcm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBseUlu
dmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxhdGlv
biB7IEZsYXR0ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJmNiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDgg
QEAgY29uc3QgaW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRp
b25Cb3R0b20gPSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4
MDAwMDAwMDsKIAotY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVmVydGljYWxQb3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0
aW9uQ2FjaGUoKQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
Q29udGVudERhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5k
ZXggNGY5NjRhMi4uZjIzZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
Q29udGVudERhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5o
CkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFn
ZTsKIAotc3RydWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlw
ZShDT05URU5UX05PTkUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3Vu
dGVyQ29udGVudC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaApp
bmRleCA1Mjc1N2FkLi5kZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9Db3VudGVyQ29udGVudC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJD
b250ZW50LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBDb3VudGVyQ29udGVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJD
b250ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvdW50
ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUg
c3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRp
ZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmls
bExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZi
Mjk0Li5jNmVlNTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5
ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyAr
NTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNs
YXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZp
bGxMYXllclR5cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRv
d0RhdGEuaAppbmRleCBjYTgzYWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hh
ZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5j
bHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1h
bCwgSW5zZXQgfTsKIAogLy8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hh
ZG93cyBmb3IgdGhlIHRleHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNs
YXNzIFNoYWRvd0RhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRh
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRvd0RhdGEo
KQogICAgICAgICA6IG1feCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRDaHVua0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtC
dWlsZGVyLmgKaW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0
RnJhZ21lbnQ7CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3Rl
ciBsYXlvdXQsIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rl
ciwgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVu
dCkuCiAvLyBQaGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUg
dG8gYmUgYXBwbGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3Ig
JiB0ZXh0TGVuZ3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtC
dWlsZGVyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0QXR0cmlidXRlc0J1aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
ci5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUg
dGhlIElubGluZUJveCB0cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkg
aW5mb3JtYXRpb24uCiAvLyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBi
eSBTVkdUZXh0TGF5b3V0RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0
ZXNCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
cigpOwogICAgIHZvaWQgYnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVy
U1ZHVGV4dCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlv
dXRFbmdpbmUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgK
aW5kZXggYWQwNThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dExheW91dEVuZ2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwog
Ly8gUmVuZGVyU1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9z
aXRpb25zIGZvciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZH
SW5saW5lVGV4dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1Rl
eHRMYXlvdXRFbmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1
aWxkZXIoKSB7IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNi
MzkuLmFjMzkzZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lQmFzZWxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExh
eW91dEVuZ2luZUJhc2VsaW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcp
CiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBT
VkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3Mg
dXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5l
JyAvICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdU
ZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdU
ZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdp
bmVCYXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5n
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5n
LmgKQEAgLTMwLDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVt
ZW50OwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhh
bmRsZSAna2VybmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNs
YXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91
dEVuZ2luZVNwYWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXgg
YjYxZTQ2NS4uY2UwYmE0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFz
ay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0
YWJhc2VUYXNrIGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFz
ZVRhc2s6OmNyZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRh
YmFzZVRhc2tTeW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJh
c2VUYXNrU3luY2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRh
c2tTeW5jaHJvbml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigp
OwogCkBAIC02Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFi
YXNlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRh
YmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsK
IHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01J
VU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJh
Y2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRp
YyBEYXRhYmFzZVRyYWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFn
ZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVu
ZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAtMjgsNyAr
MjgsNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ0LDcgKzQzLDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlOwogLy8gRklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8gVExTLiBL
ZWVwaW5nIGl0IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBwb3J0IGZv
ciB3b3JrZXJzLiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSB2
ZWN0b3IgaW4gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5kaW5nVHJh
bnNhY3Rpb25Nb25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBlbmRpbmdU
cmFuc2FjdGlvbk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBlbmRpbmdU
cmFuc2FjdGlvbk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBlbmRpbmdU
cmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMg
dm9pZCByZW1vdmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oIGIv
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40NjcyMDQy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJ
WE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3Rv
cmFnZVRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRh
c2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFy
ZWFJbXBvcnQsIEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQg
fTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIv
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLjI0ZmUx
OWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysg
Yi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAv
LyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExv
Y2FsU3RvcmFnZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxT
dG9yYWdlVGhyZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdl
VGhyZWFkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5M
b2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5R
dW90YU1hbmFnZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRl
eCBlYzk2MjBjLi5hYzI4YTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVv
dGFNYW5hZ2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBA
IC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJh
c2U7CiBjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2Vy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luVXNhZ2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRo
cmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJndW1lbnRz
IGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxlciB3aGVu
IG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShP
cmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
T3JpZ2luVXNhZ2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uQ2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQu
aAppbmRleCBmZWQwNjU3Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25D
bGllbnQuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEs
OCArNDAsMTAgQEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhl
IFNRTFRyYW5zYWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGlu
dGVyZXN0ZWQKIC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGlu
IGEgdHJhbnNhY3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21t
aXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1
dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEo
QWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxU
cmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CisgICAgICAgIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9p
ZCBhY3F1aXJlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2Nr
KFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVu
dDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAotY2xhc3Mg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRF
eHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVm
IEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwog
ICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBw
cml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBt
X3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291
cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50
RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFw
IGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMs
IGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0
aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVE
YXRhLmgKaW5kZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgK
QEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICsz
MCw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3Mg
U1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVt
ZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9z
dmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAg
LTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwg
flNWR0ZvbnREYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRl
ci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43MjllZDU0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dlYkNvcmUv
c3ZnL1NWR1BhdGhCbGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcp
CiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFNWR1BhdGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Bh
dGhCbGVuZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3Zn
L1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRo
Qnl0ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFt
X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQz
LDcgKzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXpl
b2YodW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1Bh
dGhCeXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3Ry
ZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0
aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZH
UGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1
ZTczLi40ZDU3ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAor
KysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAg
ZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNz
IFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29u
c3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmly
dHVhbCBib29sIGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVh
bnVwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRo
UGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5o
IgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJj
ZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNmNGNkMDIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2
Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9
CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhh
c01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1Nw
ZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMg
U1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21B
bmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAg
ICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgcHVibGljOgogICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBo
aWNzL1NWR0ltYWdlLmNwcAppbmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
U1ZHSW1hZ2UuY3BwCkBAIC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBF
bXB0eUNocm9tZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJv
bWVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ltYWdl
Q2hyb21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3Jl
L3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3Jl
L3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9h
dDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5h
bHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAg
UmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
IGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXgg
MDViMzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tF
VFMpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgp
IHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBj
b25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
Y29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDlj
NTIzNzcuLjE5NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAt
NDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hh
bm5lbENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291
bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwg
cHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNv
Y2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJT
b2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4
dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0
Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1
YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRI
YW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgK
QEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRz
aGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBj
bGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNv
Y2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAg
ICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9X
ZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRl
eCAzNjZlNGZhLi5hYzgzZThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2Vy
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29y
a2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBX
b3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3
b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmlu
ZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAg
ICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJh
dGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBp
ZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJT
b2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBlZXIg
OiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxD
bGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJv
eHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01v
ZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRl
eCAyMWUxNGExLi42OGY5NjI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJl
ZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24g
b2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFz
cyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdv
cmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQu
CiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3du
UHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQx
NWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
aAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJu
IG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBu
b3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAg
ICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBP
YnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAg
ICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVy
UHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3Mg
V29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMg
V29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJD
b250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRl
clByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJv
eHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2Vy
TWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJSdW5Mb29wLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRl
eCA4M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVu
TG9vcC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQs
NyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxv
b3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxv
b3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaApp
bmRleCA5ZDRlZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
UnVuTG9vcC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcg
KzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVm
YXVsdE1vZGUoKTsKIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
YXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAgICAg
IH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNw
cCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjRhYTlm
ODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVk
ZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJEYXRh
YmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3Jr
ZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBX
b3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3Rh
cnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVy
KCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRp
Y0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0
YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hl
YWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVy
OwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJs
aWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0
ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhN
TEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAgIH5YTUxI
dHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9k
ZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZh
NzNiODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysg
Yi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAg
ICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBz
dHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwog
ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xh
c3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQm
IGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9k
ZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uZDg5N2Rh
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94
bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE5vZGVT
ZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9
CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9X
ZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJz
ZXIuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBU
b2tlbihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQogICAg
ICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
YXJzZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAgICAg
ICAgIH5QYXJzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgg
Yi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29yZS94bWwv
WFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQ
cmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVkaWNhdGUg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGljYXRlKEV4
cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJi
My4uZjc3MGQ5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvV2Vi
Q29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0
ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2Vz
dG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAg
ICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAg
IGVudW0gS2luZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5v
ZGVUZXN0LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVU
ZXN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJDb3JlL3ht
bC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUu
aApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRYU0xT
dHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFzZSwgcHJp
dmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNM
U3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7CmRpZmYg
LS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNmViYTIx
Li4zYTZjZGQ2IDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0
YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFz
c2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5
NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4g
b2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNv
cHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFj
cm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBG
YXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93
dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRsZXIgIDxk
YXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6
IFVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9Cb3VuZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmlu
ZGV4IDc2OWU4M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91
bmRPYmplY3QuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAgLTMy
LDE0ICszMiwxNCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2OC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8g
Qm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlw
dCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3Vs
ZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRP
YmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVj
dCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNo
YXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLjU5YzIx
NzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
Y3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCkBA
IC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2Vi
Vmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5h
Z2VyOjpzX2V4cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2Ugewog
Ci1jbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpE
ZWJ1Zzo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFw
cGVyKTsKIHB1YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFn
ZXIodHJ1ZSksIG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVy
KGludCBjYWxsZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
aAppbmRleCA2NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVidWcuaD4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBsOwogLy8g
d291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVyZSBpcyBu
byBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVzc2FnZXMg
dGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3RoZXJ3aXNl
IHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dlckFnZW50
TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIpOwogcHVi
bGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1
Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFnZW50SW1w
bCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JG
cm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTMyLDcg
KzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAogI2luY2x1
ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsK
QEAgLTQ0LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zy
b250ZW5kQ2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9u
dGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5v
bmNvcHlhYmxlICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMg
V2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xp
ZW50KiwgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JG
cm9udGVuZENsaWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Fn
ZW50SW1wbC5jcHAKaW5kZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRl
ICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2Iu
LmIwODUzMzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9u
dGVuZEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJ
bXBsLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0IFdlYkRl
dlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBXZWJEZXZU
b29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmQKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9u
dGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVuZEltcGwp
OwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBXZWJLaXQ6
OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNw
cAppbmRleCBhZGFhYjYxLi5jMDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwu
Y3BwCkBAIC0yNzksNyArMjc5LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJ
bXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUg
Y2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2Yg
dGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRl
biBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQg
OiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21l
UHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRl
eHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdp
dCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uNGZkNDJhNiAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcgQEAgc3RydWN0
IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBvcHVwTWVudSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNzU2Nyb2xs
Vmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBh
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5o
IGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZs
LmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3
LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBi
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBA
IC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoK
ICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4
IDE4YjY0YWIuLmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRv
d25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAg
LTIyLDcgKzIyLDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAi
R1JlZlB0ci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJl
c291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRz
ZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBw
dWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25s
b2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERv
d25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3Rm
L05vbmNvcHlhYmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0t
LSBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJs
ZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdp
bkluc3RhbmNlUHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2Vi
S2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysg
Yi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5o
CkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJv
bUFycmF5KEpTQzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4
LCBKU0M6OkpTVmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpF
eGVjU3RhdGUqLCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1
ZXNMZW5ndGgsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFz
cyBMb2NhbE9iamVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1h
cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1h
cCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNs
aWVudC5tbSBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0K
aW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dl
YkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0
YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tl
ckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1v
ZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3Jp
Z2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJh
c2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNo
LmgKaW5kZXggMWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9w
Y2guaAorKysgYi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5j
bHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgog
I2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5o
PgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4v
Q09NRW51bVZhcmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNh
M2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysr
IGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZp
bmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1W
QVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJs
aWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFu
dCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJU
eXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBD
b250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgg
Yi9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2
NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09N
UHJvcGVydHlCYWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2lu
Y2x1ZGUgPHVua253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0K
IA0KIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVu
YW1lIFdURjo6U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5n
SGFzaD4NCi1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1Ymxp
YyBJUHJvcGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBw
dWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFz
aE1hcDxLZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYg
LS1naXQgYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93
aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dl
YktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAg
cHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVl
bkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFz
ZU1hbmFnZXIuY3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJk
Y2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2Vy
LmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUy
LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikK
ICAgICByZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQ
cm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3Rh
bmNlKGNvbnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAog
ICAgIHJldHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5h
Z2VyLCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1
OTMuLmNkMzI0YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIv
V2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdl
Ykluc3BlY3Rvcl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGlj
IElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJs
aWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYklu
c3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFu
Y2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3Ry
aW5ncy5jcHAgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2
YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmlu
Z3MuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIs
NyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3Mo
KQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENG
U3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdp
dCBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29y
bGQuaAppbmRleCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNj
cmlwdFdvcmxkLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICsz
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9
CiAKLWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdl
YlNjcmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRX
b3JsZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGlj
OgogICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRp
YyBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6
ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpT
VmFsdWUuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
U2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGlj
IElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFs
dWUgOiBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRK
U1ZhbHVlUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpT
VmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+
IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmlu
ZGV4IGU4ZjZiNjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4u
aApAQCAtMzIsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNv
bnRlbnRVUkxQYXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBw
dWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2Ns
YXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRl
cm4pOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
PiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9u
Y29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZy
b20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1
ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFs
bG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUg
Tm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgor
CiAyMDEwLTExLTIyICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBV
c2UgcGF0aHMgcmVsYXRpdmUgdG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0byBhY2Nl
c3Mgc2hhcmVkIC52c3Byb3BzIGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL0Nv
cmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5
U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCaW5h
cnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAog
bmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUu
aCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3Jt
L01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5lIE1v
ZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJs
aWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZv
cm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJl
ZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAjZGVm
aW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAg
LTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAg
Y2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5k
bGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYgQEAK
ICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2lu
Y2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBh
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQcm9j
ZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwog
ICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVn
aW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44
YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5l
IENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nl
c3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9j
ZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAor
KysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAg
LTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxXZWJD
b3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9QbHVn
aW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQ
TFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQg
YS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5k
Ym94RXh0ZW5zaW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hF
eHRlbnNpb24uaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9uX2gK
IAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JX
aW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5o
CmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJ
bmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9y
dCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9y
dCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUy
Li4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNT
KQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQx
LDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7
CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDog
Tm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4u
OWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2lu
SW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVn
aW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1
Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3Rvcmll
czsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
YXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1Ymxp
YzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIv
VUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNz
IFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1By
b3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsK
IApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTguLjhi
MDAzMzMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1NCw2
IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1l
c3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9h
ZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVp
bnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAg
IH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRN
YW5hZ2VyLmgKaW5kZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nl
c3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5l
IERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVz
b3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9O
UEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
bnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8v
IE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3Mg
TlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09i
amVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09i
amVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVP
YmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1h
bmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0
aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
ci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rp
b25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1j
bGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgK
KysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJs
YXkuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZj
NzE5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3Iu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKaW5kZXggODI0YjcxNy4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEw
LTExLTIzICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNv
cHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9t
IEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcg
IzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxv
Y0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5v
bmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKwor
ICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgor
CiAyMDEwLTExLTE4ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMsNyBAQAog
CiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAg
ICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNl
ZCB0ZXN0c8KgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBv
dXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFp
bCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RO
ZXRzY2FwZVBsdWdJbi9tYWluLmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlh
YmxlLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAw
MDAwMAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93
dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTgg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5k
Q2xhc3MuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3Vu
ZENsYXNzLmgKQEAgLTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcg
KzU3LDggQEAgdHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAv
LyBDcHBCb3VuZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQg
cHJvcGVydHkgYWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENw
cFZhcmlhbnQqIHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ3BwQm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFj
ayB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdl
bnQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29s
c0FnZW50LmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAi
V2ViRGV2VG9vbHNBZ2VudENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4
ICs0OCw4IEBAIHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZU
b29sc0NsaWVudDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YkRldlRvb2xzQWdlbnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRl
dlRvb2xzQWdlbnRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xz
QWdlbnQpOwogcHVibGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5E
UlREZXZUb29sc0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRv
b2xzQ2xpZW50LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJU
RGV2VG9vbHNDbGllbnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xz
Q2FsbEFyZ3MuaCIKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9u
dGVuZENsaWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNz
IFdlYlZpZXc7CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xz
Q2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9v
bHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAg
RFJURGV2VG9vbHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwog
ICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxl
ci5oCmluZGV4IGI2NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5o
CkBAIC0xMTEsNyArMTExLDggQEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlv
bkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8v
IHZlcnNpb24gYXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6
CiAgICAgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45
NjE4ZGM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJUaGVtZUNvbnRyb2xEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRl
ICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lh
L2luY2x1ZGUvY29yZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IC8vIFNraWEgZm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBX
ZWJUaGVtZUNvbnRyb2xEUlQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVD
b250cm9sRFJUIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQp
OwogcHVibGljOgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhl
IGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFp
bnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1p
bmltaXplCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJUaGVtZUVuZ2luZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVFbmdpbmVEUlQuaAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJU
LmgKQEAgLTQ4LDkgKzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5j
bHVkZSAid2luL1dlYlRoZW1lRW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdp
bmUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1Ymxp
YyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJU
aGVtZUVuZ2luZURSVCk7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktp
dFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBi
L1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAg
QEAKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xh
c3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsK
IHB1YmxpYzoKICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRU
b29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0
NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVy
LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAt
MjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3Mg
VGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJv
bGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNj
MWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgK
QEAgLTI3LDExICsyNywxMCBAQAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRl
IDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRp
b24oY29uc3QgY2hhciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74729</attachid>
            <date>2010-11-24 00:20:49 -0800</date>
            <delta_ts>2010-11-25 07:23:17 -0800</delta_ts>
            <desc>playing with Chromium&apos;s EWS bot round #4</desc>
            <filename>szerda2.patch</filename>
            <type>text/plain</type>
            <size>327197</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li42OTUxZjQ4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjQgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjcxNGQ1NjkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE5YWNkNS4uZTFi
OTYzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0yMiAgQWJoaXNoZWsgQXJ5YSAgPGlu
ZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzUxMjY3Ny4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci0jaWZuZGVmIFdlYkNvcmVfRldEX05vbmNvcHlhYmxlX2gKLSNkZWZpbmUgV2ViQ29yZV9GV0Rf
Tm9uY29weWFibGVfaAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+Ci0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDg1ZGI2ZmQuLjk1
ZmI3NTUgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNjM1NTgsMTAg
KzYzNTU4LDYgQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQotCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHd0ZlxOb25jb3B5YWJsZS5oIg0KLQkJCQkJ
Pg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXEZvcndh
cmRpbmdIZWFkZXJzXHd0ZlxPd25BcnJheVB0ci5oIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggMmVlNTZlZS4uYjJhYzg2NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC01Nyw3ICs1Nyw4IEBAIHN0
cnVjdCBUZXh0TWFya2VyRGF0YSB7CiAKIGVudW0gUG9zdFR5cGUgeyBQb3N0U3luY2hyb25vdXNs
eSwgUG9zdEFzeW5jaHJvbm91c2x5IH07CiAKLWNsYXNzIEFYT2JqZWN0Q2FjaGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQVhPYmplY3RDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQVhPYmplY3RDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgQVhPYmplY3RDYWNoZSgpOwogICAgIH5BWE9iamVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKaW5kZXggODA5YTQ4OC4u
ZDA5MTQzMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNl
UHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
Y2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0U291cmNlUHJv
dmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYWNo
ZWRTY3JpcHRTb3VyY2VQcm92aWRlcj4gY3JlYXRlKENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIoY2FjaGVk
U2NyaXB0KSk7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKaW5kZXggNGMyNTQwNy4u
ZDMyZjc1MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAor
KysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwxMiArMjYsMTIg
QEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVyX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5k
IEdDQ29udHJvbGxlciYgZ2NDb250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaAppbmRleCA1NGU5Y2Y2Li43NzNiNTczIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01CaW5kaW5nLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDxydW50aW1lL0xvb2t1
cC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dDTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAg
ICAgY2xhc3MgSlNHbG9iYWxEYXRhOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RlYnVnV3JhcHBlclNldC5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNl
dC5oCmluZGV4IDk0YjZmNzguLmY0Mzk3MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdX
cmFwcGVyU2V0LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTRE9NV3JhcHBlci5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBkZWxldGVkIHdpdGhvdXQgYmVpbmcgcmVt
b3ZlZCBmcm9tIHRoZSBjYWNoZQogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgY2FjaGVkIHR3aWNl
CiAKLWNsYXNzIEpTRGVidWdXcmFwcGVyU2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEpTRGVidWdXcmFwcGVyU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0RlYnVnV3Jh
cHBlclNldCk7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6VGhyZWFkU3BlY2lmaWM8SlNEZWJ1Z1dy
YXBwZXJTZXQ+OwogcHVibGljOgogICAgIHN0YXRpYyBKU0RlYnVnV3JhcHBlclNldCYgc2hhcmVk
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0
ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAppbmRleCA4
MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRo
cmVhZEV4ZWNTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhl
Y1N0YXRlLmgKQEAgLTMwLDExICszMCwxMSBAQAogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlIDx3
dGYvTWFpblRocmVhZC5oPgogI2VuZGlmCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSlNNYWluVGhyZWFkRXhlY1N0YXRlKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgSlNDOjpFeGVjU3RhdGUqIGN1cnJlbnRTdGF0ZSgpCiAgICAgeyAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjaGVkdWxlZEFjdGlvbi5oCmluZGV4IDZjOWQwYmEuLmNmY2VlZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgKiB0aW1lIGludGVydmFsLCBlaXRoZXIgb25jZSBvciByZXBlYXRlZGx5LiBV
c2VkIGZvciB3aW5kb3cuc2V0VGltZW91dCgpCiAgICAgKiBhbmQgd2luZG93LnNldEludGVydmFs
KCkKICAgICAqLwotICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NoZWR1bGVkQWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gY3JlYXRlKEpT
Qzo6RXhlY1N0YXRlKiwgRE9NV3JhcHBlcldvcmxkKiBpc29sYXRlZFdvcmxkKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uMjc4
MTRlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XaW5kb3c7
CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogCi0gICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPCBS
ZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5kb3c+ID4g
SlNET01XaW5kb3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggMzE3MmM2NS4uZDI1OTNmNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBQYWdlR3JvdXA7CiBj
bGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogY2xhc3MgSmF2YVNjcmlwdENhbGxGcmFtZTsKIAot
Y2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1NlcnZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCmluZGV4IDA1ZTdhMjUuLmQ0ZGQ2MDYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMyLDExICszMiwxMSBAQAogI2lu
Y2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
U2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmls
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0
U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3Rh
dGUuaAppbmRleCAwYzA4NjExLi40OTcxOTJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5o
CkBAIC0zMyw3ICszMyw2IEBACiAjZGVmaW5lIFNjcmlwdFN0YXRlX2gKIAogI2luY2x1ZGUgPHJ1
bnRpbWUvUHJvdGVjdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIGNsYXNzIEV4ZWNTdGF0ZTsKQEAgLTUyLDcgKzUxLDggQEAgY2xhc3MgUGFnZTsK
IC8vIEZvciBub3csIHRoZSBzZXBhcmF0aW9uIGlzIHB1cmVseSBieSBjb252ZW50aW9uLgogdHlw
ZWRlZiBKU0M6OkV4ZWNTdGF0ZSBTY3JpcHRTdGF0ZTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90
ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0
ZWRQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRy
KTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRT
dGF0ZSopOwogICAgIH5TY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAppbmRleCA1ZDAzMzI4Li41MjhjYmM5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaApAQCAtMjQsMTcgKzI0LDE4IEBA
CiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJET01PYmplY3RIYXNo
VGFibGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRh
OjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29yZUpTQ2xpZW50
RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2ViQ29yZUpTQ2xpZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgZnJpZW5kIGNsYXNzIEpTR2xvYmFsRGF0YVdvcmxkSXRlcmF0b3I7CiAgICAgZnJp
ZW5kIHZvaWQgaW5pdE5vcm1hbFdvcmxkQ2xpZW50RGF0YShKU0M6OkpTR2xvYmFsRGF0YSopOwog
CiBwdWJsaWM6CisgICAgV2ViQ29yZUpTQ2xpZW50RGF0YSgpIHsgfQogICAgIHZpcnR1YWwgfldl
YkNvcmVKU0NsaWVudERhdGEoKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuY29u
dGFpbnMobV9ub3JtYWxXb3JsZC5nZXQoKSkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtl
clNjcmlwdENvbnRyb2xsZXIuaAppbmRleCBiZTdkYTRkLi43OGI3ZGRmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNyArMzEsNiBAQAog
CiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgU2NyaXB0VmFsdWU7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAotICAg
IGNsYXNzIFdvcmtlclNjcmlwdENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFdvcmtlclNjcmlwdENvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXb3JrZXJTY3JpcHRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCop
OwogICAgICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9ET01EYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApp
bmRleCBjOGI0YTQxLi4wOWQ1MzQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApAQCAtNDMsNyArNDMs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gdGhyZWFkLiAgVGhlIERPTURhdGEgZm9y
IHRoZSBtYWluIHRocmVhZCBhbmQgdGhlIERPTURhdGEgZm9yIGNoaWxkIHRocmVhZHMKICAgICAv
LyB1c2UgZGlmZmVyZW50IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBET01EYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRE9NRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBET01EYXRhKCk7
CiAgICAgICAgIHZpcnR1YWwgfkRPTURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvRE9NRGF0YVN0b3JlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CmluZGV4IDM3NThlMjMuLjhjNmMwMmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YVN0b3JlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaApA
QCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMTQ5LDcgKzE0OCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNuJ3QgbWFuYWdlIHRoZSBsaWZl
dGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAgIC8vIGxpZmV0aW1lIGlzIG1h
bmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGFTdG9yZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGVu
dW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9NTm9kZU1hcCwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmggYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmluZGV4IDFhYTFmNjIuLmY0MmU4
MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaApAQCAt
NjAsMTQgKzYwLDE0IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5oIgogI2luY2x1
ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNzIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhICB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhICk7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKEZyYW1lKik7CiAgICAg
flNjcmlwdENhY2hlZEZyYW1lRGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1
Z1NlcnZlci5oCmluZGV4IDVjNWQ2YzYuLjQ0MWFiM2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdERlYnVnU2VydmVyLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgog
I2luY2x1ZGUgPHY4LWRlYnVnLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIAotY2xh
c3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0
RGVidWdTZXJ2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVy
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmggYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1YTA1NC4uZTA5NjllMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBACiAjaW5j
bHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJ
bnNwZWN0b3JPYmplY3Q7CiAKLWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
Y3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3Rh
dGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
Y3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRs
ZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmggYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKaW5kZXggMTE4MTNiMC4uZGMyNDcxMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAi
RE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIFNjcmlwdFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNj
cmlwdFN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZSk7CiBwdWJs
aWM6CiAgICAgYm9vbCBoYWRFeGNlcHRpb24oKSB7IHJldHVybiAhbV9leGNlcHRpb24uSXNFbXB0
eSgpOyB9CiAgICAgdm9pZCBzZXRFeGNlcHRpb24odjg6OkxvY2FsPHY4OjpWYWx1ZT4gZXhjZXB0
aW9uKQpAQCAtNzksNyArNzksOCBAQCBwdWJsaWM6CiAgICAgfkVtcHR5U2NyaXB0U3RhdGUoKSB7
IH0KIH07CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7CiBwdWJsaWM6CiAgICAgU2NyaXB0U3Rh
dGVQcm90ZWN0ZWRQdHIoKSA6IG1fc2NyaXB0U3RhdGUoMCkgeyB9CiAgICAgU2NyaXB0U3RhdGVQ
cm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKSA6IG1fc2NyaXB0U3RhdGUoc2Ny
aXB0U3RhdGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5j
cHAKaW5kZXggMzZmYzFmNi4uMmMyODc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIHByaXZhdGU6CiAKIC8v
IFdyaXRlciBpcyByZXNwb25zaWJsZSBmb3Igc2VyaWFsaXppbmcgcHJpbWl0aXZlIHR5cGVzIGFu
ZCBzdG9yaW5nCiAvLyBpbmZvcm1hdGlvbiB1c2VkIHRvIHJlY29uc3RydWN0IGNvbXBvc2l0ZSB0
eXBlcy4KLWNsYXNzIFdyaXRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdyaXRlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV3JpdGVyKTsKIHB1YmxpYzoKICAgICBXcml0ZXIoKQogICAg
ICAgICA6IG1fcG9zaXRpb24oMCkKQEAgLTM3Nyw3ICszNzgsOCBAQCBwdWJsaWM6CiAgICAgfQog
CiBwcml2YXRlOgotICAgIGNsYXNzIFN0YXRlQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgU3RhdGVCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RhdGVC
YXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflN0YXRlQmFzZSgpIHsgfQogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1dlYkNvcmUvYnJpZGdlL0JyaWRn
ZS5oCmluZGV4IDUwZWZjNjQuLjkxODIyNmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL0Jy
aWRnZS5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCkBAIC0yOCwxNCArMjgsMTUgQEAK
ICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJyaWRnZUpTQy5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDICB7CiAKIG5hbWVzcGFjZSBCaW5kaW5n
cyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZXRob2Qg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhvZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CisgICAgTWV0aG9kKCkgeyB9CiAgICAgdmlydHVhbCBpbnQgbnVtUGFyYW1l
dGVycygpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgfk1ldGhvZCgpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oCmluZGV4IDk5YmFlMGIuLmNhNDNhZDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJp
ZGdlL0lkZW50aWZpZXJSZXAuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgK
QEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBJZGVudGlmaWVyUmVwX2gKIAogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNs
dWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAKLWNsYXNzIElkZW50aWZpZXJSZXAgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CitjbGFzcyBJZGVudGlmaWVyUmVwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoaW50KTsKICAgICBzdGF0
aWMgSWRlbnRpZmllclJlcCogZ2V0KGNvbnN0IGNoYXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaApp
bmRleCA5Njk3NGQ5Li44OGVjNzI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJp
ZGdlSlNDLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01OSw4ICs1
OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNzIENs
YXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
Q2xhc3MoKSB7IH0KICAgICB2aXJ0dWFsIE1ldGhvZExpc3QgbWV0aG9kc05hbWVkKGNvbnN0IElk
ZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEZpZWxkKiBmaWVs
ZE5hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0
dWFsIEpTVmFsdWUgZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiwgSW5zdGFuY2UqLCBjb25zdCBJ
ZGVudGlmaWVyJikgeyByZXR1cm4ganNVbmRlZmluZWQoKTsgfQpAQCAtMTI1LDcgKzEyNyw4IEBA
IHByaXZhdGU6CiAgICAgV2Vha0dDUHRyPFJ1bnRpbWVPYmplY3Q+IG1fcnVudGltZU9iamVjdDsK
IH07CiAKLWNsYXNzIEFycmF5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFycmF5IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcnJheSk7CiBwdWJsaWM6CiAgICAgQXJyYXkoUGFz
c1JlZlB0cjxSb290T2JqZWN0Pik7CiAgICAgdmlydHVhbCB+QXJyYXkoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9y
b290LmgKaW5kZXggYmFiZDdhZC4uMzlmYjM1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9yb290LmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKQEAgLTMz
LDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaCBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApp
bmRleCA4MzNkN2ZlLi41NmIyODI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC0zMiw2ICszMiw3IEBA
IGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2U7CiBjbGFzcyBTdHlsZUltYWdlOwogCiBjbGFzcyBDU1NJ
bWFnZVZhbHVlIDogcHVibGljIENTU1ByaW1pdGl2ZVZhbHVlLCBwcml2YXRlIENhY2hlZFJlc291
cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFsdWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBDU1NJbWFnZVZhbHVlKTsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFs
dWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVybCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0lt
YWdlVmFsdWUodXJsKSk7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUu
aCBiL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAppbmRleCAxMGQzMDI2Li43M2YyYWNiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKKysrIGIvV2ViQ29yZS9jc3Mv
Q1NTSW1wb3J0UnVsZS5oCkBAIC0zNCw2ICszNCw3IEBAIGNsYXNzIENhY2hlZENTU1N0eWxlU2hl
ZXQ7CiBjbGFzcyBNZWRpYUxpc3Q7CiAKIGNsYXNzIENTU0ltcG9ydFJ1bGUgOiBwdWJsaWMgQ1NT
UnVsZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbXBvcnRSdWxlPiBj
cmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGhyZWYsIFBhc3NSZWZQ
dHI8TWVkaWFMaXN0PiBtZWRpYSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NO
YW1lc3BhY2UuaCBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCmluZGV4IDYyMjVjMzYuLjA2
ZDQwNmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0yNiw3ICsyNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IENTU05hbWVzcGFjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU05hbWVz
cGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBBdG9t
aWNTdHJpbmcgcHJlZml4OwogICAgICAgICBBdG9taWNTdHJpbmcgdXJpOwogICAgICAgICBPd25Q
dHI8Q1NTTmFtZXNwYWNlPiBwYXJlbnQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDFkYTIwYjcuLjk3MmY3NzcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCkBAIC0zMjgsNyArMzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGludCBj
c3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYpOwogICAgIGludCBjc3NWYWx1ZUtleXdvcmRJRChj
b25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKIAotICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNob3J0aGFuZFNj
b3BlKENTU1BhcnNlciogcGFyc2VyLCBpbnQgcHJvcElkKSA6IG1fcGFyc2VyKHBhcnNlcikKICAg
ICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmggYi9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCA5OTNhZTI4Li40NWY0YTQ2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXJWYWx1ZXMuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgQ1NTUGFyc2VyVmFsdWUgewog
ICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNyZWF0ZUNTU1ZhbHVlKCk7CiB9OwogCi1jbGFzcyBD
U1NQYXJzZXJWYWx1ZUxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQYXJz
ZXJWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
Q1NTUGFyc2VyVmFsdWVMaXN0KCkKICAgICAgICAgOiBtX2N1cnJlbnQoMCkKQEAgLTgzLDcgKzg0
LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8Q1NTUGFyc2VyVmFsdWUsIDQ+IG1fdmFsdWVzOwog
fTsKIAotc3RydWN0IENTU1BhcnNlckZ1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
Q1NTUGFyc2VyRnVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6
CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5hbWU7CiAgICAgT3duUHRyPENTU1BhcnNlclZhbHVlTGlz
dD4gYXJnczsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oIGIvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHkuaAppbmRleCAxMDYxNzFkLi45YTllYzQ0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
LmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDU1NQ
cm9wZXJ0eSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Byb3BlcnR5IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1Byb3BlcnR5KGludCBw
cm9wSUQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlLCBib29sIGltcG9ydGFudCA9IGZhbHNl
LCBpbnQgc2hvcnRoYW5kSUQgPSAwLCBib29sIGltcGxpY2l0ID0gZmFsc2UpCiAgICAgICAgIDog
bV9pZChwcm9wSUQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAgYi9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKaW5kZXggZmI4ZjY5NS4uNDJjZGY3OSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmNwcApAQCAtMzcsOCArMzcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1jbGFzcyBDU1NTZWxlY3RvckJhZyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDU1NTZWxlY3RvckJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTU2VsZWN0b3JCYWcpOwogcHVibGljOgorICAgIENTU1NlbGVjdG9yQmFnKCkgeyB9
CiAgICAgfkNTU1NlbGVjdG9yQmFnKCkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc0VtcHR5KCkp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmgKaW5kZXggMDBlMjNiOS4uNDZmNGFhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC0yNCw3
ICsyNCw2IEBACiAKICNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVy
U3R5bGVDb25zdGFudHMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtMzMsNyAr
MzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ1NTU2VsZWN0b3JCYWc7CiAK
ICAgICAvLyB0aGlzIGNsYXNzIHJlcHJlc2VudHMgYSBzZWxlY3RvciBmb3IgYSBTdHlsZVJ1bGUK
LSAgICBjbGFzcyBDU1NTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
Q1NTU2VsZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTZWxlY3Rv
cigpCiAgICAgICAgICAgICA6IG1fcmVsYXRpb24oRGVzY2VuZGFudCkKQEAgLTMwMiw3ICszMDIs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHVuc2lnbmVkIHNwZWNpZmljaXR5Rm9y
UGFnZSgpIGNvbnN0OwogICAgICAgICB2b2lkIGV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3Q7CiAK
LSAgICAgICAgc3RydWN0IFJhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UmFyZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmFyZURhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBSYXJl
RGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0b3J5KQogICAgICAgICAgICAgICAg
IDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2IoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKaW5k
ZXggOWU0MGVmOC4uODU4NDI3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JM
aXN0LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKQEAgLTI3LDExICsyNywx
MSBAQAogI2RlZmluZSBDU1NTZWxlY3Rvckxpc3RfaAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3Iu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIAotY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IENTU1NlbGVjdG9yTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JM
aXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDU1NTZWxlY3Rvckxp
c3QoKSA6IG1fc2VsZWN0b3JBcnJheSgwKSB7IH0KICAgICB+Q1NTU2VsZWN0b3JMaXN0KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IDFmZjNiZDUuLjA1YTFiZjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCkBAIC0zNDksNyArMzQ5LDggQEAgaWYgKGlkID09IHByb3BJRCkgeyBc
CiAgICAgcmV0dXJuOyBcCiB9CiAKLWNsYXNzIENTU1J1bGVTZXQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ1NTUnVsZVNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVs
ZVNldCk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZVNldCgpOwogICAgIH5DU1NSdWxlU2V0KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmgKaW5kZXggYjcxODc1MS4uMTNmYzk3ZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuaApAQCAtNjksNyArNjksOCBAQCBjbGFzcyBTdHlsZWRFbGVtZW50OwogY2xhc3MgV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlOwogY2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTsKIAotY2xh
c3MgTWVkaWFRdWVyeVJlc3VsdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1
ZXJ5UmVzdWx0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5UmVzdWx0KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5UmVzdWx0KGNv
bnN0IE1lZGlhUXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQogICAgICAgICA6IG1fZXhwcmVz
c2lvbihleHByKQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9OwogCiAgICAgLy8gVGhpcyBj
bGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4gZWxlbWVudCBiYXNlZCBvbiBh
IGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTU3R5bGVTZWxlY3RvcihEb2N1bWVu
dCosIFN0eWxlU2hlZXRMaXN0KiBhdXRob3JTaGVldHMsIENTU1N0eWxlU2hlZXQqIG1hcHBlZEVs
ZW1lbnRTaGVldCwKICAgICAgICAgICAgICAgICAgICAgICAgICBDU1NTdHlsZVNoZWV0KiBwYWdl
VXNlclNoZWV0LCBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91
cFVzZXJTaGVldHMsCkBAIC0yMDksNyArMjExLDggQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFJlbmRlclN0eWxlKiBzdHlsZU5vdFlldEF2YWlsYWJsZSgpIHsgcmV0dXJu
IHNfc3R5bGVOb3RZZXRBdmFpbGFibGU7IH0KIAotICAgICAgICBjbGFzcyBTZWxlY3RvckNoZWNr
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VsZWN0b3JDaGVja2VyKTsKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgU2VsZWN0b3JDaGVja2VyKERvY3VtZW50KiwgYm9v
bCBzdHJpY3RQYXJzaW5nKTsKIApAQCAtMzE1LDcgKzMxOCw4IEBAIHB1YmxpYzoKICAgICAgICAg
VmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQqPiBtX3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJl
c3VsdHM7CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1bGVEYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDU1NSdWxlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1J1bGVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIENTU1J1bGVEYXRhKHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiByLCBDU1NTZWxl
Y3Rvciogc2VsLCBDU1NSdWxlRGF0YSogcHJldiA9IDApCiAgICAgICAgICAgICA6IG1fcG9zaXRp
b24ocG9zKQpAQCAtMzQzLDcgKzM0Nyw4IEBAIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGEq
IG1fbmV4dDsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGFMaXN0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDU1NSdWxlRGF0YUxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGFMaXN0KHVuc2lnbmVkIHBvcywgQ1NTU3R5
bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2VsKQogICAgICAgICAgICAgOiBtX2ZpcnN0KG5l
dyBDU1NSdWxlRGF0YShwb3MsIHJ1bGUsIHNlbCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5LmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKaW5kZXggMjgxMDA5Yi4uN2Qx
ZmM3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCisrKyBiL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnkuaApAQCAtMzcsNyArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgTWVkaWFRdWVyeUV4cDsKIAotY2xhc3MgTWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVF1ZXJ5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFJlc3Ry
aWN0b3IgewogICAgICAgICBPbmx5LCBOb3QsIE5vbmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlFdmFsdWF0b3IuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3Iu
aAppbmRleCAwMGFjMzk0Li5kOGM1OTgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5RXZhbHVhdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBA
IC00OSw3ICs0OSw4IEBAIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAgKiB0aGUgZGV2aWNlIGNoYXJh
Y3RlcmlzdGljcyBhcmUgbm90IGtub3duLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHBydW5lIHRoZSBs
b2FkaW5nCiAgKiBvZiBzdHlsZXNoZWV0cyB0byBvbmx5IHRob3NlIHdoaWNoIGFyZSBwcm9iYWJs
ZSB0byBtYXRjaC4KICAqLwotY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsKKyAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWVkaWFRdWVyeUV2YWx1YXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgLyoqIENyZWF0ZXMgZXZhbHVhdG9yIHdoaWNoIGV2YWx1YXRlcyBvbmx5IHNp
bXBsZSBtZWRpYSBxdWVyaWVzCiAgICAgICogIEV2YWx1YXRvciByZXR1cm5zIHRydWUgZm9yICJh
bGwiLCBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFGZWF0dXJlUmVzdWx0CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhw
LmgKaW5kZXggNzJkM2ZmZi4uOGU0MjU1ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUV4cC5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaApAQCAtMzgsNyArMzgs
OCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0OwogCi1j
bGFzcyBNZWRpYVF1ZXJ5RXhwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgTWVkaWFR
dWVyeUV4cCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxNZWRpYVF1ZXJ5RXhwPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBt
ZWRpYUZlYXR1cmUsIENTU1BhcnNlclZhbHVlTGlzdCogdmFsdWVzKTsKICAgICB+TWVkaWFRdWVy
eUV4cCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwIGIv
V2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCmluZGV4IDdmNWYxYjYuLjRhOGQyNWEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcAorKysgYi9XZWJD
b3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBBc3lu
Y1NjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdFNvb24oU2NyaXB0RWxlbWVudCogZGF0YSwgQ2Fj
aGVkUmVzb3VyY2VIYW4KICAgICBBU1NFUlQoZWxlbWVudC0+aW5Eb2N1bWVudCgpKTsKIAogICAg
IG1fZG9jdW1lbnQtPmluY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKTsKLSAgICBtX3Njcmlw
dHNUb0V4ZWN1dGVTb29uLmFwcGVuZChtYWtlX3BhaXIoZGF0YSwgY2FjaGVkU2NyaXB0KSk7Cisg
ICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZGF0YSwgY2Fj
aGVkU2NyaXB0KSk7CiAgICAgZWxlbWVudC0+cmVmKCk7IC8vIEJhbGFuY2VkIGJ5IGRlcmVmKClz
IGluIHRpbWVyRmlyZWQoKSBhbmQgZHRvci4KICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApp
bmRleCAxYTA1MWE4Li4yOWVlNTZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Bc3luY1Njcmlw
dFJ1bm5lci5oCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAi
VGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzgsNyArMzcsOCBAQCBj
bGFzcyBDYWNoZWRTY3JpcHQ7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7
CiAgICAgCi1jbGFzcyBBc3luY1NjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBBc3luY1NjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNT
Y3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEFzeW5jU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50
KSB7IHJldHVybiBuZXcgQXN5bmNTY3JpcHRSdW5uZXIoZG9jdW1lbnQpOyB9CiAgICAgfkFzeW5j
U2NyaXB0UnVubmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaCBi
L1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCmluZGV4IDg2YTIyYjAuLmY1MDM2ZTQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCisrKyBiL1dlYkNvcmUvZG9tL0RPTVN0
cmluZ01hcC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERPTVN0cmluZ01hcF9oCiAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyAr
MzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50OwogdHlwZWRlZiBpbnQg
RXhjZXB0aW9uQ29kZTsKIAotY2xhc3MgRE9NU3RyaW5nTWFwIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERPTVN0cmluZ01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NU3Ry
aW5nTWFwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5E
T01TdHJpbmdNYXAoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDgzYmE4ODUuLjg0MWJiMjQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTQ2NTUsNyArNDY1NSw5IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsCiAgICAgICAg
IHdpbmRvdy0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3Nh
Z2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKLXN0cnVjdCBQZXJmb3JtVGFza0NvbnRl
eHQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQZXJmb3JtVGFza0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQYXNzUmVmUHRyPERvY3VtZW50
V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1bWVudFJlZmVyZW5jZShkb2N1
bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oCmluZGV4IDk2ZmI3ZjMuLjUwZWM4ODMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oCkBAIC0zOCw4ICszOCwxMCBAQCBjbGFzcyBJbnRSZWN0Owog
Y2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogCi1jbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIERvY3VtZW50TWFya2VyQ29udHJv
bGxlcigpIHsgfQogICAgIH5Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7IGRldGFjaCgpOyB9
CiAKICAgICB2b2lkIGRldGFjaCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBi
L1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggZjA1ZDM2Yy4uY2Q0OWRlOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0yNCw2ICsy
NCw3IEBACiAjaWZuZGVmIEV2ZW50X2gKICNkZWZpbmUgRXZlbnRfaAogCisjaW5jbHVkZSAiQ2xp
cGJvYXJkLmgiCiAjaW5jbHVkZSAiRE9NVGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzEsOCArMzIsNiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBDbGlwYm9hcmQ7Ci0KICAgICBjbGFzcyBF
dmVudCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50PiB7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIFBoYXNlVHlwZSB7IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDQ5NjgwNGUuLjdlMTBlNmYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmgKQEAgLTE3OCw3ICsxNzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogLy8gZW5k
IG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCi0gICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZlbnROYW1lcyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEV2ZW50TmFtZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
ICAgICBpbnQgZHVtbXk7IC8vIE5lZWRlZCB0byBtYWtlIGluaXRpYWxpemF0aW9uIG1hY3JvIHdv
cmsuCiAgICAgICAgIC8vIFByaXZhdGUgdG8gcHJldmVudCBhY2NpZGVudGFsIGNhbGwgdG8gRXZl
bnROYW1lcygpIGluc3RlYWQgb2YgZXZlbnROYW1lcygpCiAgICAgICAgIEV2ZW50TmFtZXMoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmggYi9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5oCmluZGV4IGRkY2I2NjMuLmZhMTkwZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtODMsNyAr
ODMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiBWZWN0b3I8UmVnaXN0ZXJl
ZEV2ZW50TGlzdGVuZXIsIDE+IEV2ZW50TGlzdGVuZXJWZWN0b3I7CiAgICAgdHlwZWRlZiBIYXNo
TWFwPEF0b21pY1N0cmluZywgRXZlbnRMaXN0ZW5lclZlY3Rvcio+IEV2ZW50TGlzdGVuZXJNYXA7
CiAKLSAgICBzdHJ1Y3QgRXZlbnRUYXJnZXREYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVj
dCBFdmVudFRhcmdldERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudFRh
cmdldERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAg
RXZlbnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aCBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgK
aW5kZXggOWQxODM1YS4uMjZmN2ZkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vSWdub3JlRGVz
dHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysgYi9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNk
ZWZpbmUgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXJfaAogCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291
bnRJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWdub3JlRGVzdHJ1Y3Rp
dmVXcml0ZUNvdW50SW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IElnbm9yZURl
c3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAg
ICAgOiBtX2NvdW50KGRvY3VtZW50ID8gJmRvY3VtZW50LT5tX2lnbm9yZURlc3RydWN0aXZlV3Jp
dGVDb3VudCA6IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwu
aCBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjE0ZDkw
ZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1dl
YkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCkBAIC01NSw3ICs1NSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIC8vIE1lc3NhZ2VQb3J0Q2hhbm5lbCBpcyBhIHBsYXRmb3JtLWlu
ZGVwZW5kZW50IGludGVyZmFjZSB0byB0aGUgcmVtb3RlIHNpZGUgb2YgYSBtZXNzYWdlIGNoYW5u
ZWwuCiAgICAgLy8gSXQgYWN0cyBhcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBwbGF0Zm9ybS1kZXBl
bmRlbnQgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwgaW1wbGVtZW50YXRpb24gd2hpY2ggZW5z
dXJlcyB0aGF0IHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgY2xvc2UoKSBtZXRob2QgaXMgaW52b2tl
ZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCi0gICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNzYWdlUG9ydENoYW5uZWwpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5l
bChQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBA
IC03OCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0
cnVlIGlmIHRoZSBwcm94eSBjdXJyZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9y
dC4KICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBF
dmVudERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NP
d25QdHI8RXZlbnREYXRhPiBjcmVhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5Pik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5k
ZXggYWIyMDhkMi4uZWRjNTA2MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRh
LmgKKysrIGIvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTM0LDcgKzM0LDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgTm9kZUxpc3RzTm9kZURhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgTm9kZUxpc3RzTm9kZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE5vZGVMaXN0c05vZGVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoK
ICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05vZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAg
Tm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7CiAgICAgCkBAIC02Nyw3ICs2OSw4IEBAIHBy
aXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNzIE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6ICAgIAogICAg
IE5vZGVSYXJlRGF0YSgpCiAgICAgICAgIDogbV90YWJJbmRleCgwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vUXVhbGlmaWVkTmFtZS5oIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmlu
ZGV4IDM0ZmMwNjkuLjE3ZTg1MDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5h
bWUuaAorKysgYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTMyLDcgKzMyLDggQEAg
c3RydWN0IFF1YWxpZmllZE5hbWVDb21wb25lbnRzIHsKICAgICBTdHJpbmdJbXBsKiBtX25hbWVz
cGFjZTsKIH07CiAKLWNsYXNzIFF1YWxpZmllZE5hbWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CitjbGFzcyBRdWFsaWZpZWROYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5hbWVJbXBsIDogcHVibGljIFJlZkNvdW50ZWQ8UXVh
bGlmaWVkTmFtZUltcGw+IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmggYi9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKaW5kZXggYjZiZWI2
ZS4uNGU5MWJkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCisrKyBi
L1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaApAQCAtMzIsNiArMzIsNyBAQCBjbGFzcyBTY3Jp
cHRFbGVtZW50OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAogY2xhc3MgU2NyaXB0RWxlbWVu
dCA6IHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgU2NyaXB0RWxlbWVudChFbGVtZW50KiwgYm9vbCBjcmVhdGVk
QnlQYXJzZXIsIGJvb2wgaXNFdmFsdWF0ZWQpOwogICAgIHZpcnR1YWwgflNjcmlwdEVsZW1lbnQo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBiNDZhMGY0Li44Y2E4MmEx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0xMTYsOCArMTE2LDEwIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCByZWYoKSB7IHJlZlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsgfQogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsgfQogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CisgICAg
ICAgICAgICBUYXNrKCkgeyB9CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7CiAgICAgICAg
ICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0g
MDsKICAgICAgICAgICAgIC8vIENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVjaWFsbHkgc28g
dGhhdCB0aGV5IGFyZW4ndCBkaXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdoZW4gdGhlIGNv
bnRleHQgaXMgc2h1dHRpbmcgZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaCBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJp
bmcuaAppbmRleCA4MjZlNmJkLi44Mzk5YjY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TcGFj
ZVNwbGl0U3RyaW5nLmgKKysrIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCkBAIC0y
OCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTcGFjZVNwbGl0
U3RyaW5nRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNlU3BsaXRTdHJp
bmdEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNw
YWNlU3BsaXRTdHJpbmdEYXRhKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBib29sIHNob3VsZEZvbGRD
YXNlKQogICAgICAgICAgICAgOiBtX3N0cmluZyhzdHJpbmcpLCBtX3Nob3VsZEZvbGRDYXNlKHNo
b3VsZEZvbGRDYXNlKSwgbV9jcmVhdGVkVmVjdG9yKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vVHJhbnNmb3JtU291cmNlLmggYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaApp
bmRleCBmOTdhZmNmLi45N2VjNDgyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1T
b3VyY2UuaAorKysgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaApAQCAtMjMsNyArMjMs
NiBAQAogI2lmIEVOQUJMRShYU0xUKQogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
Myw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRm
b3JtVHJhbnNmb3JtU291cmNlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2Ug
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJjZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVNvdXJjZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBUcmFuc2Zvcm1Tb3VyY2UoY29uc3QgUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2UmIHNvdXJjZSk7CiAgICAgICAgIH5UcmFuc2Zvcm1Tb3VyY2Uo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmggYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCmluZGV4IDE3ZWEzMTkuLmRlNTdlZmEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvV2ViQ29y
ZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBV
c2VyR2VzdHVyZUluZGljYXRvcl9oCiAjZGVmaW5lIFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTM2LDcgKzM1LDggQEAgZW51bSBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSB7CiAgICAgRGVm
aW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZQogfTsKIAotY2xhc3MgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0
b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJHZXN0dXJlSW5kaWNhdG9yKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSB7IHJldHVybiBz
X3Byb2Nlc3NpbmdVc2VyR2VzdHVyZSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
OyB9CiAgICAgc3RhdGljIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIGdldFVzZXJHZXN0dXJl
U3RhdGUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1Vz
ZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggNmM3MTA3OS4uYmMzYWNlMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAj
aWZuZGVmIFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlclR5cGluZ0dl
c3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNCw3ICszMyw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIAotY2xhc3Mg
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVz
ZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9j
ZXNzaW5nVXNlclR5cGluZ0dlc3R1cmUoKTsKICAgICBzdGF0aWMgTm9kZSogZm9jdXNlZEVsZW1l
bnRBdEdlc3R1cmVTdGFydCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXIuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKaW5kZXggZTNkM2NjMi4u
ZDVkYTlkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAorKysg
Yi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCkBAIC03MSw2ICs3MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXIgOiBw
dWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGll
bnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8WE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShEb2N1bWVudCog
ZG9jdW1lbnQsIEZyYW1lVmlldyogdmlldykKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1dlYkNvcmUvZG9tL1hNTERvY3Vt
ZW50UGFyc2VyTGlieG1sMi5jcHAKaW5kZXggN2EzMjg1Zi4uNmVkZTc4NiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9XZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCkBAIC03NSw4ICs3NSwxMCBAQCB1c2luZyBu
YW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBlbmRpbmdDYWxs
YmFja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
UGVuZGluZ0NhbGxiYWNrcygpIHsgfQogICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKICAgICB7CiAg
ICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2NhbGxiYWNrcyk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmggYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBh
cnNlclNjb3BlLmgKaW5kZXggNThlOGE2Yi4uOGY0MTkzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBYTUxEb2N1bWVudFBhcnNl
clNjb3BlX2gKICNkZWZpbmUgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShYU0xUKQogI2luY2x1ZGUgPGxpYnhtbC90
cmVlLmg+CkBAIC0zNiw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNz
IENhY2hlZFJlc291cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTERvY3VtZW50UGFyc2VyU2NvcGUp
OwogICAgIHB1YmxpYzoKICAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZShDYWNoZWRSZXNv
dXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIpOwogICAgICAgICB+WE1MRG9jdW1lbnRQ
YXJzZXJTY29wZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNv
bnRyb2xsZXIuaCBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKaW5k
ZXggMTI4NmMwNy4uODlmMmNiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1
dHRvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJv
bGxlci5oCkBAIC0zNiw3ICszNiw4IEBAIGNsYXNzIEhUTUxFbGVtZW50OwogY2xhc3MgUmVuZGVy
T2JqZWN0OwogY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIAotY2xhc3MgRGVsZXRlQnV0dG9uQ29u
dHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWxldGVCdXR0b25Db250cm9s
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWxldGVCdXR0b25Db250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBEZWxldGVCdXR0b25Db250cm9s
bGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0
aW9uQ29tbWFuZC5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwCmluZGV4IGZiNTJlNTYuLjFjN2I3MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9S
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kLmNwcApAQCAtNTksNyArNTksOCBAQCBlbnVtIEVGcmFnbWVudFR5cGUg
eyBFbXB0eUZyYWdtZW50LCBTaW5nbGVUZXh0Tm9kZUZyYWdtZW50LCBUcmVlRnJhZ21lbnQgfTsK
IAogLy8gLS0tIFJlcGxhY2VtZW50RnJhZ21lbnQgaGVscGVyIGNsYXNzCiAKLWNsYXNzIFJlcGxh
Y2VtZW50RnJhZ21lbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVwbGFjZW1lbnRG
cmFnbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVwbGFjZW1lbnRGcmFnbWVudCk7
CiBwdWJsaWM6CiAgICAgUmVwbGFjZW1lbnRGcmFnbWVudChEb2N1bWVudCosIERvY3VtZW50RnJh
Z21lbnQqLCBib29sIG1hdGNoU3R5bGUsIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUv
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKaW5kZXggOGNjODllNC4uMzk3OGY3NSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJD
b3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5j
bHVkZSAiU2Nyb2xsQmVoYXZpb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIlZp
c2libGVTZWxlY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00Nyw3ICs0Niw4IEBAIGNsYXNzIFZpc2libGVQb3NpdGlvbjsK
IAogZW51bSBEaXJlY3Rpb25hbGl0eVBvbGljeSB7IE1ha2VOb25EaXJlY3Rpb25hbFNlbGVjdGlv
biwgTWFrZURpcmVjdGlvbmFsU2VsZWN0aW9uIH07CiAKLWNsYXNzIFNlbGVjdGlvbkNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VsZWN0aW9uQ29udHJvbGxlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBFQWx0ZXJhdGlvbiB7IEFsdGVyYXRpb25N
b3ZlLCBBbHRlcmF0aW9uRXh0ZW5kIH07CiAgICAgZW51bSBFRGlyZWN0aW9uIHsgRGlyZWN0aW9u
Rm9yd2FyZCwgRGlyZWN0aW9uQmFja3dhcmQsIERpcmVjdGlvblJpZ2h0LCBEaXJlY3Rpb25MZWZ0
IH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmggYi9X
ZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXggNGRjZWQwNS4uZGU5Yzc1
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCisrKyBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAtNzIsNyArNzIsOCBAQCBw
cml2YXRlOgogICAgIG11dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7CiB9OwogCi1jbGFzcyBU
ZXh0Q2hlY2tpbmdIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGV4dENoZWNr
aW5nSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q2hlY2tpbmdIZWxwZXIp
OwogcHVibGljOgogICAgIFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JDbGllbnQqLCBQYXNzUmVm
UHRyPFJhbmdlPik7CiAgICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJh
dG9yLmNwcAppbmRleCBhOTYyNjhkLi4xZmJlNjBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cApAQCAtNTcsNyArNTcsOCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogLy8gS2VlcHMg
ZW5vdWdoIG9mIHRoZSBwcmV2aW91cyB0ZXh0IHRvIGJlIGFibGUgdG8gc2VhcmNoIGluIHRoZSBm
dXR1cmUsIGJ1dCBubyBtb3JlLgogLy8gTm9uLWJyZWFraW5nIHNwYWNlcyBhcmUgYWx3YXlzIGVx
dWFsIHRvIG5vcm1hbCBzcGFjZXMuCiAvLyBDYXNlIGZvbGRpbmcgaXMgYWxzbyBkb25lIGlmIDxp
c0Nhc2VTZW5zaXRpdmU+IGlzIGZhbHNlLgotY2xhc3MgU2VhcmNoQnVmZmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNlYXJjaEJ1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2VhcmNoQnVmZmVyKTsKIHB1YmxpYzoKICAgICBTZWFyY2hCdWZmZXIoY29uc3QgU3RyaW5n
JiB0YXJnZXQsIGJvb2wgaXNDYXNlU2Vuc2l0aXZlKTsKICAgICB+U2VhcmNoQnVmZmVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oIGIvV2ViQ29yZS9maWxlYXBp
L0ZpbGVUaHJlYWQuaAppbmRleCBkN2FhYmY3Li40NTIwNWM0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgK
QEAgLTU0LDcgKzU0LDggQEAgcHVibGljOgogICAgIGJvb2wgc3RhcnQoKTsKICAgICB2b2lkIHN0
b3AoKTsKIAotICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIHZpcnR1YWwgflRhc2soKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZv
cm1UYXNrKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3Rl
bS5oIGIvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCmluZGV4IGI3NzlhNWYuLjEy
YTcwMTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAorKysg
Yi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xh
c3MgRmlsZVN5c3RlbUNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAog
Ly8gS2VlcHMgcGVyLXByb2Nlc3MgaW5mb3JtYXRpb24gYW5kIHByb3ZpZGVzIGFuIGVudHJ5IHBv
aW50IHRvIG9wZW4gYSBmaWxlIHN5c3RlbS4KLWNsYXNzIExvY2FsRmlsZVN5c3RlbSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEZpbGVTeXN0ZW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvY2FsRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyBhIHBl
ci1wcm9jZXNzIGluc3RhbmNlIG9mIExvY2FsRmlsZVN5c3RlbS4KICAgICAvLyBOb3RlIHRoYXQg
TG9jYWxGaWxlU3lzdGVtOjppbml0aWFsaXplTG9jYWxGaWxlU3lzdGVtIG11c3QgYmUgY2FsbGVk
IGJlZm9yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
IGIvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCmluZGV4IDI1ZTY3MzkuLjAy
MGFjNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKQEAgLTU4LDcgKzU4LDgg
QEAgY2xhc3MgRmlsZUVudHJ5U3luYzsKIAogLy8gQSBoZWxwZXIgdGVtcGxhdGUgZm9yIEZpbGVT
eXN0ZW1TeW5jIGltcGxlbWVudGF0aW9uLgogdGVtcGxhdGUgPHR5cGVuYW1lIFN1Y2Nlc3NDYWxs
YmFjaywgdHlwZW5hbWUgT2JzZXJ2ZXJUeXBlLCB0eXBlbmFtZSBDYWxsYmFja0FyZywgdHlwZW5h
bWUgUmVzdWx0VHlwZT4KLWNsYXNzIFN5bmNDYWxsYmFja0hlbHBlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFN5bmNDYWxsYmFja0hlbHBlcik7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBTeW5jQ2FsbGJh
Y2tIZWxwZXI8U3VjY2Vzc0NhbGxiYWNrLCBPYnNlcnZlclR5cGUsIENhbGxiYWNrQXJnLCBSZXN1
bHRUeXBlPiBIZWxwZXJUeXBlOwogICAgIFN5bmNDYWxsYmFja0hlbHBlcihPYnNlcnZlclR5cGUq
IG9ic2VydmVyID0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENv
bnRyb2xsZXIuaCBiL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaAppbmRl
eCBlODllMzJiLi5kNjgwNDdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2hpc3RvcnkvQmFja0Zvcndh
cmRDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxl
ci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEJhY2tGb3J3YXJkQ29udHJvbGxlcl9oCiAj
ZGVmaW5lIEJhY2tGb3J3YXJkQ29udHJvbGxlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IApAQCAtMzYsNyArMzUsOCBAQCBjbGFzcyBCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBIaXN0b3J5
SXRlbTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEJhY2tGb3J3YXJkQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgQmFja0ZvcndhcmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVm
UHRyPEJhY2tGb3J3YXJkTGlzdD4pOwogICAgIH5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaCBiL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuaAppbmRleCA3MWFlNWFkLi5kNTBiOWNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAg
ICBjbGFzcyBQYWdlQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VD
YWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBmcmllbmQgUGFnZUNhY2hlKiBw
YWdlQ2FjaGUoKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlv
bkNhY2hlLmggYi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKaW5kZXggZGYxZDFmYS4u
ZGEzZTZkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCisrKyBi
L1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaApAQCAtMjksNyArMjksOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLXN0cnVjdCBDb2xsZWN0aW9uQ2FjaGUg
OiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgQ29sbGVjdGlvbkNhY2hlKCk7CiAgICAgQ29s
bGVjdGlvbkNhY2hlKGNvbnN0IENvbGxlY3Rpb25DYWNoZSYpOwogICAgIENvbGxlY3Rpb25DYWNo
ZSYgb3BlcmF0b3I9KGNvbnN0IENvbGxlY3Rpb25DYWNoZSYgb3RoZXIpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01TZXR0
YWJsZVRva2VuTGlzdC5oCmluZGV4IDJiNzExYjQuLmUxNTA3MzEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9ET01TZXR0
YWJsZVRva2VuTGlzdC5oCkBAIC0zNSw2ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIERPTVNldHRhYmxlVG9rZW5MaXN0IDogcHVibGljIERPTVRva2VuTGlzdCwgcHVibGlj
IFJlZkNvdW50ZWQ8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVNldHRhYmxlVG9rZW5M
aXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxp
c3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAppbmRleCA1ZGYyZWRlLi5lMGRiY2M4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9o
dG1sL0RPTVRva2VuTGlzdC5oCkBAIC0yNywxNSArMjcsMTYgQEAKIAogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgRE9NVG9rZW5MaXN0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVRva2VuTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRE9NVG9rZW5MaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBET01Ub2tlbkxpc3QoKSB7IH0KICAgICB2aXJ0dWFsIH5ET01Ub2tlbkxpc3QoKSB7fTsK
IAogICAgIHZpcnR1YWwgdm9pZCByZWYoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
aW5kZXggZmNiMmJlOC4uNTZiYWE3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAt
MTIxMSw3ICsxMjExLDkgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFy
YXRlRnJvbUF0dHJpYnV0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdHJ1Y3Qg
RXZlbnRIYW5kbGluZ1N0YXRlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgRXZlbnRIYW5kbGlu
Z1N0YXRlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFJlZlB0
cjxIVE1MSW5wdXRFbGVtZW50PiBtX2N1cnJSYWRpbzsKICAgICBib29sIG1faW5kZXRlcm1pbmF0
ZTsKICAgICBib29sIG1fY2hlY2tlZDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MUGFy
c2VyUXVpcmtzLmggYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCmluZGV4IDUwZGU3
MTAuLjNiZjIyYTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaApAQCAtMjcsMTMgKzI3LDEzIEBA
CiAjZGVmaW5lIEhUTUxQYXJzZXJRdWlya3NfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBOb2RlOwogCi1jbGFzcyBIVE1MUGFyc2VyUXVpcmtzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxQYXJzZXJRdWlya3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhU
TUxQYXJzZXJRdWlya3MpOwogcHVibGljOgogICAgIEhUTUxQYXJzZXJRdWlya3MoKSB7IH0KICAg
ICB2aXJ0dWFsIH5IVE1MUGFyc2VyUXVpcmtzKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggYzE0MTdmYS4u
ZGYwYWExNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTAsNyArNDksOCBAQCBjbGFz
cyBSZW5kZXJTdHlsZTsKIC8vIEFuIElucHV0VHlwZSBvYmplY3QgcmVwcmVzZW50cyB0aGUgdHlw
ZS1zcGVjaWZpYyBwYXJ0IG9mIGFuIEhUTUxJbnB1dEVsZW1lbnQuCiAvLyBEbyBub3QgZXhwb3Nl
IGluc3RhbmNlcyBvZiBJbnB1dFR5cGUgYW5kIGNsYXNzZXMgZGVyaXZlZCBmcm9tIGl0IHRvIGNs
YXNzZXMKIC8vIG90aGVyIHRoYW4gSFRNTElucHV0RWxlbWVudC4KLWNsYXNzIElucHV0VHlwZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnB1dFR5cGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKElucHV0VHlwZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCos
IGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4g
Y3JlYXRlVGV4dChIVE1MSW5wdXRFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
U3RlcFJhbmdlLmggYi9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2UwNDRlYS4uMWYx
NjZiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9TdGVwUmFuZ2UuaApAQCAtMjIsMTMgKzIyLDEzIEBACiAjZGVmaW5lIFN0ZXBSYW5nZV9o
CiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNs
YXNzIFN0ZXBSYW5nZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBo
YXNTdGVwOwogICAgIGRvdWJsZSBzdGVwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlk
YXRpb25NZXNzYWdlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAppbmRleCBm
ZTE4YjZiLi5mODNhNWU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtMzIsNyArMzIs
NiBAQAogI2RlZmluZSBWYWxpZGF0aW9uTWVzc2FnZV9oCiAKICNpbmNsdWRlICJUaW1lci5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDAsNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ7CiAKLWNsYXNzIFZh
bGlkYXRpb25NZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkYXRpb25N
ZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2FnZSk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNyZWF0ZShI
VE1MRm9ybUNvbnRyb2xFbGVtZW50Kik7CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuaAppbmRleCA1MzJkZGIyLi4yMmE0OGI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAg
LTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxpZGl0eVN0
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkaXR5U3RhdGU+IGNyZWF0ZShI
VE1MRm9ybUNvbnRyb2xFbGVtZW50KiBjb250cm9sKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIGIvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggYTI1ZThhMS4uMTRmNWEwYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKKysr
IGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTI5LDcg
KzI5LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAKICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBj
bGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgS1VSTDsKIGNsYXNzIFdlYkdMT2JqZWN0Owog
Ci1jbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENh
bnZhc1JlbmRlcmluZ0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQoSFRNTENhbnZhc0VsZW1lbnQqKTsKICAgICB2aXJ0
dWFsIH5DYW52YXNSZW5kZXJpbmdDb250ZXh0KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1By
ZWxvYWRTY2FubmVyLmgKaW5kZXggN2FjMjgyZi4uZmFlOTVhMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgQ1NTUHJlbG9h
ZFNjYW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTUHJlbG9hZFNjYW5uZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1ByZWxvYWRTY2FubmVyKTsKIHB1YmxpYzoK
ICAgICBDU1NQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmggYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKaW5kZXggOGIwOWJmNS4uZmY2MTg2ZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCisrKyBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaApAQCAtMzAsNyArMzAsNiBAQAog
I2luY2x1ZGUgIkhUTUxFbGVtZW50U3RhY2suaCIKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0Vs
ZW1lbnRMaXN0LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIApAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiBj
bGFzcyBEb2N1bWVudDsKIGNsYXNzIEVsZW1lbnQ7CiAKLWNsYXNzIEhUTUxDb25zdHJ1Y3Rpb25T
aXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxDb25zdHJ1Y3Rpb25TaXRlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MQ29uc3RydWN0aW9uU2l0ZSk7CiBwdWJsaWM6
CiAgICAgSFRNTENvbnN0cnVjdGlvblNpdGUoRG9jdW1lbnQqLCBGcmFnbWVudFNjcmlwdGluZ1Bl
cm1pc3Npb24sIGJvb2wgaXNQYXJzaW5nRnJhZ21lbnQpOwogICAgIH5IVE1MQ29uc3RydWN0aW9u
U2l0ZSgpOwpAQCAtODksNyArODksOCBAQCBwdWJsaWM6CiAgICAgSFRNTEZvcm1FbGVtZW50KiBm
b3JtKCkgY29uc3QgeyByZXR1cm4gbV9mb3JtLmdldCgpOyB9CiAgICAgUGFzc1JlZlB0cjxIVE1M
Rm9ybUVsZW1lbnQ+IHRha2VGb3JtKCk7CiAKLSAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFy
ZW50R3VhcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZGlyZWN0VG9G
b3N0ZXJQYXJlbnRHdWFyZCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWRpcmVjdFRvRm9zdGVy
UGFyZW50R3VhcmQoSFRNTENvbnN0cnVjdGlvblNpdGUmIHRyZWUpCiAgICAgICAgICAgICA6IG1f
dHJlZSh0cmVlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKaW5kZXgg
MDUwNTNkZi4uYzIwMWMzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9j
dW1lbnRQYXJzZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNl
ci5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIFNjcmlwdENvbnRyb2xsZXI7CiBjbGFzcyBTY3Jp
cHRTb3VyY2VDb2RlOwogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXIgOiAgcHVibGljIFNjcmlw
dGFibGVEb2N1bWVudFBhcnNlciwgSFRNTFNjcmlwdFJ1bm5lckhvc3QsIENhY2hlZFJlc291cmNl
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1bWVudCogZG9j
dW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxl
bWVudFN0YWNrLmgKaW5kZXggOGE4ZTE2MC4uOTM2ZDQxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRWxlbWVudFN0YWNrLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSFRNTEVsZW1lbnRT
dGFja19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM5LDEyICszOCwxNCBAQCBjbGFzcyBR
dWFsaWZpZWROYW1lOwogCiAvLyBOT1RFOiBUaGUgSFRNTDUgc3BlYyB1c2VzIGEgYmFja3dhcmRz
IChncm93cyBkb3dud2FyZCkgc3RhY2suICBXZSdyZSB1c2luZwogLy8gbW9yZSBzdGFuZGFyZCAo
Z3Jvd3MgdXB3YXJkcykgc3RhY2sgdGVybWlub2xvZ3kgaGVyZS4KLWNsYXNzIEhUTUxFbGVtZW50
U3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEVsZW1lbnRTdGFjayB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEVsZW1lbnRTdGFjayk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSFRNTEVsZW1lbnRTdGFjaygpOwogICAgIH5IVE1MRWxl
bWVudFN0YWNrKCk7CiAKLSAgICBjbGFzcyBFbGVtZW50UmVjb3JkIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBFbGVtZW50UmVjb3JkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRWxlbWVudFJlY29yZCk7CiAgICAgcHVibGljOgogICAgICAgICB+RWxlbWVudFJlY29y
ZCgpOyAvLyBQdWJsaWMgZm9yIH5QYXNzT3duUHRyKCkKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKaW5kZXggYWNhMDViYi4uZjc1ZmE1
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRM
aXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0
LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsK
IAogLy8gVGhpcyBtYXkgZW5kIHVwIG1lcmdlZCBpbnRvIEhUTUxFbGVtZW50U3RhY2suCi1jbGFz
cyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhU
TUxGb3JtYXR0aW5nRWxlbWVudExpc3QpOwogcHVibGljOgogICAgIEhUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QoKTsKICAgICB+SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaCBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTElucHV0U3RyZWFtLmgKaW5kZXggYTcwOWJkOS4uNjQyZTQzNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAorKysgYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vIG1fbGFzdCBpcyBhIHBvaW50ZXIgdG8gdGhlIGxhc3Qgb2YgdGhlIGFmdGVy
SW5zZXJ0aW9uUG9pbnQgc3RyaW5ncy4KIC8vIFRoZSBuZXR3b3JrIGFkZHMgZGF0YSBhdCB0aGUg
ZW5kIG9mIHRoZSBJbnB1dFN0cmVhbSwgd2hpY2ggYXBwZW5kcwogLy8gdGhlbSB0byB0aGUgImxh
c3QiIHN0cmluZy4KLWNsYXNzIEhUTUxJbnB1dFN0cmVhbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIVE1MSW5wdXRTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxJ
bnB1dFN0cmVhbSk7CiBwdWJsaWM6CiAgICAgSFRNTElucHV0U3RyZWFtKCkKICAgICAgICAgOiBt
X2xhc3QoJm1fZmlyc3QpCkBAIC0xMjgsNyArMTI5LDggQEAgcHJpdmF0ZToKICAgICBTZWdtZW50
ZWRTdHJpbmcqIG1fbGFzdDsKIH07CiAKLWNsYXNzIEluc2VydGlvblBvaW50UmVjb3JkIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc2VydGlvblBvaW50UmVjb3JkIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJbnNlcnRpb25Qb2ludFJlY29yZCk7CiBwdWJsaWM6CiAgICAgZXhw
bGljaXQgSW5zZXJ0aW9uUG9pbnRSZWNvcmQoSFRNTElucHV0U3RyZWFtJiBpbnB1dFN0cmVhbSkK
ICAgICAgICAgOiBtX2lucHV0U3RyZWFtKCZpbnB1dFN0cmVhbSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKaW5kZXggNWJlMzNiMC4uYTRiNzQ2MCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKQEAgLTI4LDE0ICsyOCwxNCBAQAog
CiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlcjsKIAotY2xhc3Mg
SFRNTFBhcnNlclNjaGVkdWxlciA6ICBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBh
cnNlclNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclNjaGVk
dWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8SFRNTFBhcnNlclNjaGVkdWxlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFy
c2VyKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRT
Y2FubmVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCmluZGV4
IDk0YTkwZTYuLjg2MDQ1M2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBy
ZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkNTU1ByZWxvYWRTY2FubmVyLmgiCiAj
aW5jbHVkZSAiSFRNTFRva2VuLmgiCiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzks
NyArMzgsOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1MVG9rZW5pemVyOwogY2xhc3Mg
U2VnbWVudGVkU3RyaW5nOwogCi1jbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MUHJlbG9hZFNjYW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFNjcmlwdFJ1bm5lci5oCmluZGV4IDZjZjc0ZDguLjFiN2Y5MWYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAi
UGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQx
LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdDsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKLWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTFNjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFNjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCwgSFRNTFNjcmlwdFJ1bm5lckhvc3QqIGhvc3QpCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRva2VuLmgKaW5kZXggNDJjZGRiOC4uOGVjZDhkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVG9rZW4uaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5o
CkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFRva2VuX2gKIAogI2luY2x1ZGUgIk5h
bWVkTm9kZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIEhUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MVG9rZW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgVW5pbml0
aWFsaXplZCwKQEAgLTMxMyw3ICszMTMsOCBAQCBwcml2YXRlOgogICAgIC8vIHdhbnQgdG8gZW5k
IHVwIHdpdGggYSBjbGVhbmVyIGludGVyZmFjZSBiZXR3ZWVuIHRoZSB0d28gY2xhc3Nlcy4KICAg
ICBmcmllbmQgY2xhc3MgQXRvbWljSFRNTFRva2VuOwogCi0gICAgY2xhc3MgRG9jdHlwZURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERvY3R5cGVEYXRhIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdHlwZURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAg
RG9jdHlwZURhdGEoKQogICAgICAgICAgICAgOiBtX2hhc1B1YmxpY0lkZW50aWZpZXIoZmFsc2Up
CkBAIC0zNTIsNyArMzUzLDggQEAgcHJpdmF0ZToKIAogLy8gRklYTUU6IFRoaXMgY2xhc3Mgc2hv
dWxkIGV2ZW50dWFsbHkgYmUgbmFtZWQgSFRNTFRva2VuIG9uY2Ugd2UgbW92ZSB0aGUKIC8vIGV4
aXRpbmcgSFRNTFRva2VuIHRvIGJlIGludGVybmFsIHRvIHRoZSBIVE1MVG9rZW5pemVyLgotY2xh
c3MgQXRvbWljSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF0b21pY0hU
TUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXRvbWljSFRNTFRva2VuKTsKIHB1
YmxpYzoKICAgICBBdG9taWNIVE1MVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBt
X3R5cGUodG9rZW4udHlwZSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VG9rZW5pemVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAppbmRleCBm
MTZiMDQ5Li5kNTc3OWY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tl
bml6ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogI2RlZmluZSBIVE1MVG9rZW5pemVyX2gKIAogI2luY2x1ZGUgIlNlZ21lbnRl
ZFN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oPgpAQCAtMzksNyArMzgsOCBAQCBjbGFzcyBFbGVtZW50OwogY2xhc3Mg
RnJhbWU7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIEhUTUxUb2tlbml6ZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSFRNTFRva2VuaXplciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSFRNTFRva2VuaXplcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3Miw3ICsxNzIsOCBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dl
Yi1hcHBzL2N1cnJlbnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtCi0gICAg
Y2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IpOwogICAgIHB1YmxpYzoKICAgICAgICAgSW5w
dXRTdHJlYW1QcmVwcm9jZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5pemVyKQogICAgICAgICAg
ICAgOiBtX3Rva2VuaXplcih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAKaW5kZXggM2QzOTEzMS4uMDQzMWNmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRyZWVCdWlsZGVyLmNwcApAQCAtMjQwLDcgKzI0MCw4IEBAIEhUTUxGb3JtRWxlbWVudCogY2xv
c2VzdEZvcm1BbmNlc3RvcihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8vIG5hbWVzcGFjZQogCi1j
bGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3Rl
clRva2VuQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHRlcm5hbENoYXJhY3Rl
clRva2VuQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRlcm5hbENoYXJhY3RlclRv
a2VuQnVmZmVyKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV9jdXJyZW50KHRv
a2VuLmNoYXJhY3RlcnMoKS5kYXRhKCkpCkBAIC0yMzM0LDcgKzIzMzUsOCBAQCB2b2lkIEhUTUxU
cmVlQnVpbGRlcjo6cmVwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAg
cHJvY2Vzc0VuZFRhZyh0b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RmFrZUlu
c2VydGlvbk1vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVy
OjpGYWtlSW5zZXJ0aW9uTW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmFrZUluc2Vy
dGlvbk1vZGUpOwogcHVibGljOgogICAgIEZha2VJbnNlcnRpb25Nb2RlKEhUTUxUcmVlQnVpbGRl
ciogdHJlZUJ1aWxkZXIsIEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAgICAgOiBtX3RyZWVCdWls
ZGVyKHRyZWVCdWlsZGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKaW5kZXgg
MGU3NTk3Yy4uOTY5YzdhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCkBA
IC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIgog
I2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRp
b24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1MRG9jdW1l
bnQ7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShIVE1MVHJlZUJ1aWxkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzT3duUHRyPEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhUTUxUb2tlbml6ZXIq
IHRva2VuaXplciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMsIGJv
b2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpCiAgICAgewpAQCAtMjAzLDcgKzIwMyw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzRm9yZWlnbkNvbnRlbnRVc2luZ0luQm9keU1vZGVBbmRS
ZXNldE1vZGUoQXRvbWljSFRNTFRva2VuJiB0b2tlbik7CiAgICAgdm9pZCByZXNldEZvcmVpZ25J
bnNlcnRpb25Nb2RlKCk7CiAKLSAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhZ21lbnRQYXJzaW5nQ29udGV4dCk7CiAgICAg
cHVibGljOgogICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KCk7CiAgICAgICAgIEZyYWdt
ZW50UGFyc2luZ0NvbnRleHQoRG9jdW1lbnRGcmFnbWVudCosIEVsZW1lbnQqIGNvbnRleHRFbGVt
ZW50LCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCmluZGV4IGM1OTc4NzYuLjgxNTU2MzUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAorKysg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKQEAgLTI4LDcg
KzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBOZXN0aW5nTGV2ZWxJbmNy
ZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXN0aW5nTGV2ZWxJbmNyZW1l
bnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIp
OwogcHVibGljOgogICAgIGV4cGxpY2l0IE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKHVuc2lnbmVk
JiBuZXN0aW5nTGV2ZWwpCiAgICAgICAgIDogbV9uZXN0aW5nTGV2ZWwoJm5lc3RpbmdMZXZlbCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IDRlODhiZWMuLjkwMmVkYzMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBTY3JpcHRD
YWxsRnJhbWU7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRWYWx1ZTsKIAot
Y2xhc3MgQ29uc29sZU1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29uc29s
ZU1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIHVuc2ln
bmVkIGxpLCBjb25zdCBTdHJpbmcmIHUsIHVuc2lnbmVkIGcpOwogICAgIENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bSwgUGFzc093blB0cjxTY3JpcHRBcmd1bWVudHM+LCBQYXNzT3duUHRyPFNjcmlwdENhbGxTdGFj
az4sIHVuc2lnbmVkIGcpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKaW5kZXggZjgwY2Zi
NC4uZmY4ZDM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQu
aAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCkBAIC0zNCw3ICszNCw2
IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiU2NyaXB0T2Jq
ZWN0LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dC5oCmluZGV4IDExZjEwY2UuLjdiM2U5MmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKIAog
I2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0
b3JWYWx1ZTsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLWNsYXNzIEluc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JB
cHBsaWNhdGlvbkNhY2hlQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckNvbnRyb2xsZXIq
IGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAg
fkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGNhNWE5ZDkuLmY5YzEwNDAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEwMSw3ICsxMDEsOCBAQCBjbGFzcyBXZWJT
b2NrZXRIYW5kc2hha2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2U7
CiAjZW5kaWYKIAotY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJbnNwZWN0b3JDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJj
ZT4gPiBEYXRhYmFzZVJlc291cmNlc01hcDsKICAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQ
dHI8SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlPiA+IERPTVN0b3JhZ2VSZXNvdXJjZXNNYXA7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKaW5kZXggOTUwMWFj
OC4uMDMxNjA5NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aApAQCAtNTIsNyArNTIsOCBAQCBlbnVtIERlYnVnZ2VyRXZlbnRUeXBlIHsKICAgICBOYXRpdmVC
cmVha3BvaW50RGVidWdnZXJFdmVudFR5cGUKIH07CiAKLWNsYXNzIEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5z
cGVjdG9yRGVidWdnZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqLCBJbnNwZWN0
b3JGcm9udGVuZCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAppbmRl
eCA5ZGNhYTVhLi40YWE4N2U5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJJbnNw
ZWN0b3JGcm9udGVuZENsaWVudC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsNyAr
NDAsOCBAQCBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0OwogY2xhc3MgUGFnZTsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBwdWJsaWMgSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlciosIFBhZ2UqKTsKICAg
ICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXggYzFmNWRiMS4uYjFhOGJlNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApAQCAtMzUsNyArMzUs
NiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQ3LDcgKzQ2LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgU2NyaXB0SGVhcFNu
YXBzaG90OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JQcm9maWxlckFnZW50KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNw
ZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciopOwogICAgIHZp
cnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCBiYzFlMDI3Li5hNmJhM2Q0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC03MCw3ICs3MCw4IEBAIGVudW0g
VGltZWxpbmVSZWNvcmRUeXBlIHsKICAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdFRpbWVsaW5l
UmVjb3JkVHlwZSA9IDIwCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IDogU2Ny
aXB0R0NFdmVudExpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnNwZWN0b3JGcm9udGVuZCog
ZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaCBiL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFjay5oCmluZGV4IDU0YzZiYmEuLjEzMWUxMzEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFjay5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNkZWZpbmUgU2NyaXB0Q2FsbFN0
YWNrX2gKIAogI2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBJbnNwZWN0b3JBcnJheTsKIAotY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdENhbGxTdGFjayB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2NyaXB0Q2FsbFN0YWNrKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IG1heENhbGxTdGFja1NpemVUb0NhcHR1cmUgPSAyMDA7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaCBiL1dlYkNvcmUv
bG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAppbmRleCAxMDE2YWVkLi41
ZDg0OWJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZS5oCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBIVFRQSGVhZGVyTWFwOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFz
cyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0geworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
SXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbShib29sIGNyZWRlbnRpYWxzKQogICAgICAg
ICAgICAgOiBtX2Fic29sdXRlRXhwaXJ5VGltZSgwKQpAQCAtNjMsNyArNjQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEhlYWRlcnNTZXQgbV9oZWFkZXJzOwogICAgIH07CiAKLSAg
ICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgQ3Jv
c3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZWJmM2EyNS4uOTNlNzQzOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTQ3LDYgKzQ3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXJDbGllbnQ7CiAK
ICAgICBjbGFzcyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciwgcHJpdmF0
ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCAgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hy
b25vdXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShEb2N1bWVudCos
IFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBU
aHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRXcml0ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKaW5kZXggNWZi
M2RjMS4uZmI5MzYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCkBAIC0zOSw3ICszOSw4IEBA
IGNsYXNzIEZyYW1lOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBUZXh0UmVzb3VyY2VE
ZWNvZGVyOwogCi1jbGFzcyBEb2N1bWVudFdyaXRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBEb2N1bWVudFdyaXRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRX
cml0ZXIpOwogcHVibGljOgogICAgIERvY3VtZW50V3JpdGVyKEZyYW1lKik7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKaW5kZXggYTE1Y2VlNS4uMzExOTUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAg
LTIxNCw4ICsyMTQsMTAgQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlGcmFtZUxvYWRlckNsaWVudCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRW1wdHlGcmFtZUxvYWRlckNs
aWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSB7ICB9CiAg
ICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJveWVkKCkgeyB9CiAKQEAgLTM4Myw4ICsz
ODUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdD
b250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgpIHsgcmV0dXJuIFBhc3NSZWZQdHI8RnJh
bWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAotY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQg
OiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlF
ZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgRW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUVkaXRvckNs
aWVudCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCkgeyB9CiAKQEAgLTQ5
Niw4ICs1MDAsMTAgQEAgcHVibGljOgogfTsKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQot
Y2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBDb250ZXh0TWVudUNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJs
aWMgQ29udGV4dE1lbnVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5Q29u
dGV4dE1lbnVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEVt
cHR5Q29udGV4dE1lbnVDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUNvbnRleHRNZW51
Q2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsg
fQogCkBAIC01MTksOCArNTI1LDEwIEBAIHB1YmxpYzoKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi1jbGFzcyBFbXB0eURyYWdDbGll
bnQgOiBwdWJsaWMgRHJhZ0NsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5
RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFbXB0eURyYWdDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAg
IEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RHJhZ0NsaWVudCgpIHt9
CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdE
ZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBl
cmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb24sIGNvbnN0IEludFBvaW50Jiwg
Q2xpcGJvYXJkKikgeyB9CkBAIC01MzIsOCArNTQwLDEwIEBAIHB1YmxpYzoKIH07CiAjZW5kaWYg
Ly8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBw
dWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlJ
bnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CisgICAgRW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5F
bXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRl
c3Ryb3llZCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24u
aCBiL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKaW5kZXggZDcyNDgzNS4uN2Y1OGY5
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAorKysgYi9XZWJD
b3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEZvcm1T
dWJtaXNzaW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Rm9ybVN1Ym1pc3Npb24+IHsKIHB1YmxpYzoK
ICAgICBlbnVtIE1ldGhvZCB7IEdldE1ldGhvZCwgUG9zdE1ldGhvZCB9OwogCi0gICAgY2xhc3Mg
QXR0cmlidXRlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXR0cmlidXRlcyB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0dHJpYnV0ZXMpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQXR0cmlidXRlcygpCiAgICAgICAgICAgICA6IG1fbWV0aG9kKEdldE1ldGhvZCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oCmluZGV4IDc2YWQ5NzcuLjZhNzYzZDAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aApAQCAtODYsNyArODYsOCBAQCBzdHJ1Y3QgV2luZG93RmVhdHVyZXM7CiAKIGJvb2wgaXNCYWNr
Rm9yd2FyZExvYWRUeXBlKEZyYW1lTG9hZFR5cGUpOwogCi1jbGFzcyBGcmFtZUxvYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIEZyYW1lTG9hZGVyKEZyYW1lKiwg
RnJhbWVMb2FkZXJDbGllbnQqKTsKICAgICB+RnJhbWVMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmggYi9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCmluZGV4IGMzNDA4YzIuLjFkZGYyZWEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaApAQCAtMjksMTMgKzI5LDEzIEBACiAj
aWZuZGVmIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lX2gKICNkZWZpbmUgRnJhbWVMb2FkZXJTdGF0
ZU1hY2hpbmVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gRW5jYXBzdWxhdGVzIGEgc3RhdGUgbWFjaGluZSBmb3IgRnJhbWVMb2Fk
ZXIuIE5vdGUgdGhhdCB0aGlzIGlzIGRpZmZlcmVudCBmcm9tIEZyYW1lU3RhdGUsCiAvLyB3aGlj
aCBzdG9yZXMgdGhlIHN0YXRlIG9mIHRoZSBjdXJyZW50IGxvYWQgdGhhdCBGcmFtZUxvYWRlciBp
cyBleGVjdXRpbmcuCi1jbGFzcyBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUpOwogcHVibGljOgogICAgIEZyYW1l
TG9hZGVyU3RhdGVNYWNoaW5lKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0hpc3Rv
cnlDb250cm9sbGVyLmggYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCmluZGV4
IDFiZjUwNzIuLjRmYjg2M2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250
cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaApAQCAtMzIs
NyArMzIsNiBAQAogCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNs
YXNzIEZyYW1lOwogY2xhc3MgSGlzdG9yeUl0ZW07CiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFs
dWU7CiAKLWNsYXNzIEhpc3RvcnlDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhpc3RvcnlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIaXN0b3J5
Q29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgZW51bSBIaXN0b3J5VXBkYXRlVHlwZSB7IFVwZGF0
ZUFsbCwgVXBkYXRlQWxsRXhjZXB0QmFja0ZvcndhcmRMaXN0IH07CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcAppbmRleCA5NGEyMWE0Li42YTU0ZThkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC01
Nyw3ICs1Nyw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IFZhbHVlQ2hlY2s8V2ViQ29yZTo6SW1hZ2VM
b2FkZXIqPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSW1hZ2VFdmVudFNlbmRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZUV2ZW50U2VuZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUV2ZW50U2VuZGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBJbWFnZUV2ZW50U2VuZGVyKGNvbnN0IEF0b21pY1N0cmluZyYg
ZXZlbnRUeXBlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCAy
OGZkYTlhLi4yNDk1YjEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApA
QCAtNTEsNyArNTEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjaGVkdWxl
ZE5hdmlnYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NoZWR1bGVkTmF2aWdh
dGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkTmF2aWdhdGlvbik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU2NoZWR1bGVkTmF2aWdhdGlvbihk
b3VibGUgZGVsYXksIGJvb2wgbG9ja0hpc3RvcnksIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlzdCwg
Ym9vbCB3YXNEdXJpbmdMb2FkLCBib29sIGlzTG9jYXRpb25DaGFuZ2UpCiAgICAgICAgIDogbV9k
ZWxheShkZWxheSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaAppbmRleCAxNDAwYzI1
Li5mMTRkMDUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCkBAIC00Nyw3ICs0
Nyw4IEBAIGNsYXNzIEZyYW1lOwogc3RydWN0IEZyYW1lTG9hZFJlcXVlc3Q7CiBjbGFzcyBTY2hl
ZHVsZWROYXZpZ2F0aW9uOwogCi1jbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE5hdmlnYXRpb25TY2hlZHVsZXIpOwogcHVibGljOgogICAgIE5hdmlnYXRpb25T
Y2hlZHVsZXIoRnJhbWUqKTsKICAgICB+TmF2aWdhdGlvblNjaGVkdWxlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRl
ci5oCmluZGV4IGViNDMxNjYuLjkyNjhiMjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Bp
bmdMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKQEAgLTM0LDcgKzM0
LDYgQEAKIAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgUmVzb3Vy
Y2VSZXNwb25zZTsKIC8vIHRvIGFsbG93IHRoZSBsb2FkIHRvIGxpdmUgbG9uZyBlbm91Z2ggdG8g
ZW5zdXJlIHRoZSBtZXNzYWdlIHdhcyBhY3R1YWxseSBzZW50LgogLy8gVGhlcmVmb3JlLCBhcyBz
b29uIGFzIGEgY2FsbGJhY2sgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgUmVzb3VyY2VIYW5kbGUsIHRo
aXMgY2xhc3MgCiAvLyB3aWxsIGNhbmNlbCB0aGUgbG9hZCBhbmQgZGVsZXRlIGl0c2VsZi4KLWNs
YXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBpbmdMb2FkZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGxvYWRJbWFnZShGcmFtZSosIGNv
bnN0IEtVUkwmIHVybCk7CiAgICAgc3RhdGljIHZvaWQgc2VuZFBpbmcoRnJhbWUqLCBjb25zdCBL
VVJMJiBwaW5nVVJMLCBjb25zdCBLVVJMJiBkZXN0aW5hdGlvblVSTCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVj
a2VyLmgKaW5kZXggNTQxNzI5Yy4uMzExOGRhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UG9saWN5Q2hlY2tlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaApAQCAt
NDUsNyArNDUsOCBAQCBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9uOwogY2xhc3MgUmVzb3VyY2VFcnJv
cjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLWNsYXNzIFBvbGljeUNoZWNrZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUG9saWN5Q2hlY2tlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUG9saWN5Q2hlY2tlcik7CiBwdWJsaWM6CiAgICAgUG9saWN5Q2hlY2tlcihGcmFt
ZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBjZDE1NDMzLi4xYmQxOWE1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUwLDcgKzUwLDkgQEAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7IC8vIDEuMCAtIGluaXRpYWxQ
cm9ncmVzc1ZhbHVlCiAKIHN0YXRpYyBjb25zdCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGlt
YXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAotc3RydWN0IFByb2dyZXNzSXRlbSA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBQcm9ncmVzc0l0ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBy
b2dyZXNzSXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUHJvZ3Jl
c3NJdGVtKGxvbmcgbG9uZyBsZW5ndGgpIAogICAgICAgICA6IGJ5dGVzUmVjZWl2ZWQoMCkKICAg
ICAgICAgLCBlc3RpbWF0ZWRMZW5ndGgobGVuZ3RoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
LmgKaW5kZXggNWQ1YjZiMi4uOGM0YTBkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKQEAg
LTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgUHJvZ3Jlc3NUcmFja2VyX2gKIAogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNiw3ICszNSw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0ZW07CiAK
LWNsYXNzIFByb2dyZXNzVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9n
cmVzc1RyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJhY2tlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUHJvZ3Jlc3NUcmFja2VyKCk7
CiAgICAgflByb2dyZXNzVHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVx
dWVzdC5oIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCmluZGV4IGI2ZGUzMTIuLjk2ZjdiMWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAorKysgYi9XZWJDb3JlL2xvYWRl
ci9SZXF1ZXN0LmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIENhY2hlZFJlc291cmNlOwogICAgIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyOwogCi0g
ICAgY2xhc3MgUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVxdWVz
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcXVlc3QpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVxdWVzdChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCwgU2VjdXJpdHlDaGVja1Bv
bGljeSwgYm9vbCBzZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKTsKICAgICAgICAgflJlcXVlc3Qo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmggYi9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCmluZGV4IDJmMTA4NTYuLjI3MDQw
NmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaApAQCAtMzAsNyArMzAsNiBA
QAogI2lmbmRlZiBSZXNvdXJjZUxvYWROb3RpZmllcl9oCiAjZGVmaW5lIFJlc291cmNlTG9hZE5v
dGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQzLDcgKzQyLDggQEAgY2xhc3MgUmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBS
ZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogCi1jbGFzcyBSZXNvdXJj
ZUxvYWROb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXNvdXJjZUxvYWRO
b3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkTm90aWZpZXIp
OwogcHVibGljOgogICAgIFJlc291cmNlTG9hZE5vdGlmaWVyKEZyYW1lKik7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKaW5kZXggODRmODg0NS4uMjljNzRkZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNs
dWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Miw4
IEBAIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyOwogY2xh
c3MgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQ7CiAKLWNsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlTG9hZFNjaGVkdWxlcik7CiBwdWJsaWM6
CiAgICAgZnJpZW5kIFJlc291cmNlTG9hZFNjaGVkdWxlciogcmVzb3VyY2VMb2FkU2NoZWR1bGVy
KCk7CiAKQEAgLTY2LDcgKzY2LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlU2VydmVQ
ZW5kaW5nUmVxdWVzdHMoKTsKICAgICB2b2lkIHJlcXVlc3RUaW1lckZpcmVkKFRpbWVyPFJlc291
cmNlTG9hZFNjaGVkdWxlcj4qKTsKIAotICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSG9zdEluZm9ybWF0aW9uKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IEhvc3RJbmZvcm1hdGlvbihjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCk7CiAgICAgICAgIH5Ib3N0
SW5mb3JtYXRpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVy
LmggYi9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCmluZGV4IGE1NzMwNDUuLmQxMWQ5
YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTQsNyArNTMsOCBAQCBjbGFz
cyBOb2RlOwogY2xhc3MgV2lkZ2V0OwogCiAvLyBUaGlzIGlzIGEgc2xpZ2h0IG1pc25vbWVyLiBJ
dCBoYW5kbGVzIHRoZSBoaWdoZXIgbGV2ZWwgbG9naWMgb2YgbG9hZGluZyBib3RoIHN1YmZyYW1l
cyBhbmQgcGx1Z2lucy4KLWNsYXNzIFN1YmZyYW1lTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN1YmZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdWJm
cmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgU3ViZnJhbWVMb2FkZXIoRnJhbWUqKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGY0MWE3NzQuLmJjMWEzYmEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgVGhyZWFkYWJsZUxv
YWRlcl9oCiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8g
VXNlZnVsIGZvciBkb2luZyBsb2FkZXIgb3BlcmF0aW9ucyBmcm9tIGFueSB0aHJlYWQgKG5vdCB0
aHJlYWRzYWZlLCAKICAgICAvLyBqdXN0IGFibGUgdG8gcnVuIG9uIHRocmVhZHMgb3RoZXIgdGhh
biB0aGUgbWFpbiB0aHJlYWQpLgotICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxlTG9hZGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBj
b25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRh
YmxlTG9hZGVyT3B0aW9ucyYpOwpAQCAtNzUsNiArNzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9CiAKICAg
ICBwcm90ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmly
dHVhbCB+VGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmVGhy
ZWFkYWJsZUxvYWRlcigpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmVGhyZWFkYWJs
ZUxvYWRlcigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXJDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAppbmRl
eCBiY2Y2OGJlLi44ZTUyNzQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxl
TG9hZGVyQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dC5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9o
CiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFJlc291cmNlRXJy
b3I7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNzIFRocmVhZGFibGVM
b2FkZXJDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZGFibGVM
b2FkZXJDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLypieXRlc1NlbnQq
LywgdW5zaWduZWQgbG9uZyBsb25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8pIHsgfQogCkBAIC01
MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JikgeyB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2FkZXJDbGllbnQo
KSB7IH0KICAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAg
IH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRX
cmFwcGVyLmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5o
CmluZGV4IGQzYzFhOWYuLmQ0ZmVhY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlckNsaWVudFdyYXBwZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlcl9oCiAKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1dvcmtl
clRocmVhZGFibGVMb2FkZXIuaAppbmRleCA4MWRhMmUwLi5lODkxM2UzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCkBAIC01NCw2ICs1NCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAg
ICAgY2xhc3MgV29ya2VyVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtl
clRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdvcmtlckNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2VyVGhyZWFkYWJsZUxvYWRl
cj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5o
IGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKaW5kZXgg
MjlkMDc0OS4uZDBkZjEwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZUdyb3VwLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhh
bmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogCkBAIC01Myw3ICs1Miw4IEBAIGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0
ZU9wdGlvbiB7CiAgICAgQXBwbGljYXRpb25DYWNoZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRl
eHQKIH07CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSwgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDog
UmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0
aW9uQ2FjaGVHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXBw
bGljYXRpb25DYWNoZUdyb3VwKGNvbnN0IEtVUkwmIG1hbmlmZXN0VVJMLCBib29sIGlzQ29weSA9
IGZhbHNlKTsgICAgCiAgICAgfkFwcGxpY2F0aW9uQ2FjaGVHcm91cCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaCBiL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKaW5kZXggOGFjNTM1Ny4uNjVj
M2E4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUhvc3QuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9z
dC5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBBcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZTsKICNlbmRpZgogCi0gICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVI
b3N0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZUhvc3Qp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIFN0
YXR1cyBudW1lcmljIHZhbHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBIVE1MNSBzcGVjLgogICAg
ICAgICBlbnVtIFN0YXR1cyB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2UuaAppbmRleCA3ZGIzNGU2Li4wMGIyOWM4NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCkBAIC00NCw3
ICs0NCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUPgogY2xhc3MgU3RvcmFnZUlESm91cm5hbDsKIGNs
YXNzIFNlY3VyaXR5T3JpZ2luOwogCi1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gRmFpbHVyZVJlYXNvbiB7CiAgICAgICAg
IE9yaWdpblF1b3RhUmVhY2hlZCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUv
QXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oIGIvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNo
aXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKaW5kZXggOWQ2MzBkMS4uNjZmYjlhOCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKQEAg
LTM5LDcgKzM5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBcmNoaXZlUmVz
b3VyY2VDb2xsZWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFyY2hpdmVSZXNv
dXJjZUNvbGxlY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFyY2hpdmVSZXNvdXJj
ZUNvbGxlY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24oKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmgKaW5kZXggZWQ2MGY4NC4uMGJiZDU5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIFJlcXVlc3Q7CiAvLyBBIHJlc291cmNlIHRo
YXQgaXMgaGVsZCBpbiB0aGUgY2FjaGUuIENsYXNzZXMgd2hvIHdhbnQgdG8gdXNlIHRoaXMgb2Jq
ZWN0IHNob3VsZCBkZXJpdmUKIC8vIGZyb20gQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHRvIGdldCB0
aGUgZnVuY3Rpb24gY2FsbHMgaW4gY2FzZSB0aGUgcmVxdWVzdGVkIGRhdGEgaGFzIGFycml2ZWQu
CiAvLyBUaGlzIGNsYXNzIGFsc28gZG9lcyB0aGUgYWN0dWFsIGNvbW11bmljYXRpb24gd2l0aCB0
aGUgbG9hZGVyIHRvIG9idGFpbiB0aGUgcmVzb3VyY2UgZnJvbSB0aGUgbmV0d29yay4KLWNsYXNz
IENhY2hlZFJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJlc291
cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogICAgIGZyaWVu
ZCBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUNsaWVudC5oCmluZGV4IDI3NWQzMzEuLmY2MDIxZjQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaApAQCAtMjUsNyArMjUsNiBAQAog
I2lmbmRlZiBDYWNoZWRSZXNvdXJjZUNsaWVudF9oCiAjZGVmaW5lIENhY2hlZFJlc291cmNlQ2xp
ZW50X2gKIAotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICogaW5oZXJpdCBmcm9tIHRoaXMgY2xhc3MgYW5kIG92ZXJsb2Fk
IG9uZSBvZiB0aGUgMyBmdW5jdGlvbnMKICAgICAgKgogICAgICAqLwotICAgIGNsYXNzIENhY2hl
ZFJlc291cmNlQ2xpZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2UKLSAgICB7CisgICAgY2xhc3Mg
Q2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2FjaGVkUmVzb3VyY2VDbGllbnQoKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggZjM3
MWEwZS4uNzM0OWExZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3MgS1VSTDsK
IAogLy8gVGhlIENhY2hlZFJlc291cmNlTG9hZGVyIG1hbmFnZXMgdGhlIGxvYWRpbmcgb2Ygc2Ny
aXB0cy9pbWFnZXMvc3R5bGVzaGVldHMgZm9yIGEgc2luZ2xlIGRvY3VtZW50LgotY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2VMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlTG9h
ZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsK
IGZyaWVuZCBjbGFzcyBJbWFnZUxvYWRlcjsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
aW5kZXggMTVjZTlkYS4uZWE0OTIxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCkBA
IC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAibG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdI
YXNoLmg+CiAKQEAgLTcxLDcgKzcwLDggQEAgY2xhc3MgS1VSTDsKIC8vIGl0cyBtZW1iZXIgdmFy
aWFibGVzKSBhcmUgYWxsb2NhdGVkIGluIG5vbi1wdXJnZWFibGUgVEMtbWFsbG9jJ2QgbWVtb3J5
IHNvIHdlIHdvdWxkIHNlZSBzbGlnaHRseQogLy8gbW9yZSBtZW1vcnkgdXNlIGR1ZSB0byB0aGlz
LgogCi1jbGFzcyBNZW1vcnlDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZW1v
cnlDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVtb3J5Q2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBNZW1vcnlDYWNoZSogY2FjaGUo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaCBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKaW5kZXggNjE0NmFhNi4uYWMwYTU3ZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVk
ZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNjIsOCArNjEsOCBA
QCBlbnVtIEljb25Mb2FkRGVjaXNpb24gewogICAgIEljb25Mb2FkVW5rbm93bgogfTsKIAotY2xh
c3MgSWNvbkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKLQorY2xhc3MgSWNvbkRhdGFi
YXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogLy8gKioqIE1haW4gVGhyZWFkIE9ubHkgKioqCiBwdWJsaWM6CiAgICAg
dm9pZCBzZXRDbGllbnQoSWNvbkRhdGFiYXNlQ2xpZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2VDbGllbnQuaAppbmRleCBjMjEwZDdkLi45MWZhYzZiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKQEAgLTMwLDE1ICszMCwxNiBAQAogI2RlZmlu
ZSBJY29uRGF0YWJhc2VDbGllbnRfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gQWxsIG9mIHRoZXNlIGNsaWVudCBtZXRob2Rz
IHdpbGwgYmUgY2FsbGVkIGZyb20gYSBub24tbWFpbiB0aHJlYWQKIC8vIFRha2UgYXBwcm9wcmlh
dGUgbWVhc3VyZXMKICAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWNvbkRhdGFiYXNl
Q2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25EYXRhYmFzZUNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlQ2xpZW50KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBJY29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAg
ICB2aXJ0dWFsIH5JY29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGVy
Zm9ybUltcG9ydCgpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hE
aWRSZW1vdmVBbGxJY29ucygpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAppbmRleCAxZWJh
YzQ4Li5kMjIyODkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNyArMzYsOCBAQCBjbGFzcyBG
cmFtZTsKIGNsYXNzIEtVUkw7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLWNsYXNzIEljb25Mb2Fk
ZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25Mb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEljb25Mb2FkZXI+IGNyZWF0ZShG
cmFtZSopOwogICAgIH5JY29uTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9p
Y29uL1BhZ2VVUkxSZWNvcmQuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5o
CmluZGV4IGY3Y2NiOGYuLjRiOWNlMzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24v
UGFnZVVSTFJlY29yZC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5o
CkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC01MSw3ICs1MCw4IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgaWNv
blVSTDsKIH07CiAKLWNsYXNzIFBhZ2VVUkxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUGFnZVVSTFJlY29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZVVSTFJl
Y29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGFnZVVSTFJlY29y
ZChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdlVVJMUmVjb3JkKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9sb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCmlu
ZGV4IDgxOGY1NmYuLjIzMjA0MzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5o
CisrKyBiL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVk
ZSAiU3VicmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0z
NSw4ICszNCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI7CiAgICAgY2xhc3MgUmVxdWVzdDsKIAotICAgIGNsYXNzIExvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSwgcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgY2xh
c3MgTG9hZGVyIDogU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb2FkZXIpOwogICAgIHB1YmxpYzoKKyAgICAgICAgTG9hZGVyKCkgeyB9CiAg
ICAgICAgIH5Mb2FkZXIoKTsKIAogICAgICAgICB2b2lkIGxvYWQoQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwgPSB0cnVlLCBTZWN1cml0eUNo
ZWNrUG9saWN5ID0gRG9TZWN1cml0eUNoZWNrLCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFj
a3MgPSB0cnVlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBmMTRhMzAy
Li4zMTEwMTA4IDEwMDY0NAotLS0gYS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmgKKysrIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC01OSw2ICs1
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCiAg
ICAgY2xhc3MgTm90aWZpY2F0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1
YmxpYyBFdmVudFRhcmdldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShj
b25zdCBLVVJMJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlv
bkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmlj
YXRpb25Db250ZW50cyYgY29udGVudHMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlk
ZXIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIv
V2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IDgzM2I5MDkuLmI1ODU0
YjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgQ29udGV4dE1lbnVDb250cm9sbGVyX2gKICNkZWZpbmUgQ29udGV4dE1lbnVDb250
cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTQwLDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2
ZW50OwogICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51Q29udHJvbGxlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudUNv
bnRyb2xsZXIoUGFnZSosIENvbnRleHRNZW51Q2xpZW50Kik7CiAgICAgICAgIH5Db250ZXh0TWVu
dUNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5o
IGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKaW5kZXggMGU5MGE1Mi4uYzU5ZGE0OCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL0RyYWdDb250cm9sbGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFJhbmdlOwogICAgIGNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXI7CiAgICAg
Ci0gICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIERyYWdDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJhZ0Nv
bnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
RHJhZ0NvbnRyb2xsZXIoUGFnZSosIERyYWdDbGllbnQqKTsKICAgICAgICAgfkRyYWdDb250cm9s
bGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggY2ExOWEwYy4uOTQwYzI1ZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaApAQCAtODAsNyArODAsOCBAQCBleHRlcm4gY29uc3QgaW50IEdlbmVyYWxEcmFnSHlzdGVy
ZXNpczsKIAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJz
LCBEb250SGl0VGVzdFNjcm9sbGJhcnMgfTsKIAotY2xhc3MgRXZlbnRIYW5kbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEV2ZW50SGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRXZlbnRIYW5kbGVyKTsKIHB1YmxpYzoKICAgICBFdmVudEhhbmRsZXIoRnJhbWUqKTsK
ICAgICB+RXZlbnRIYW5kbGVyKCk7CkBAIC0yMjIsNyArMjIzLDEwIEBAIHByaXZhdGU6CiAgICAg
ICAgIFBlcmZvcm1EcmFnQW5kRHJvcAogICAgIH07CiAKLSAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVy
RHJhZ1N0YXRlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3Rh
dGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXJEcmFnU3RhdGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5k
bGVyRHJhZ1N0YXRlKCkgeyB9CiAgICAgICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVs
ZW1lbnQgdGhhdCBtYXkgYmUgYSBkcmFnIHNvdXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdl
c3R1cmUKICAgICAgICAgYm9vbCBtX2RyYWdTcmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFn
U3JjSXNJbWFnZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggZmZlZDU5Mi4uNWJlZWIyYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmgKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRo
cmVhZGFibGVMb2FkZXI7CiAKICAgICBjbGFzcyBFdmVudFNvdXJjZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEV2ZW50U291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVM
b2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RXZl
bnRTb3VyY2U+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdmlydHVhbCB+RXZlbnRTb3VyY2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9G
b2N1c0NvbnRyb2xsZXIuaAppbmRleCBiZTUxYzc3Li4yZTg4OTRhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJv
bGxlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNp
bmNsdWRlICJTcGF0aWFsTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEtleWJvYXJkRXZlbnQ7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgRm9jdXNDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvY3VzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9jdXNDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBGb2N1c0NvbnRyb2xsZXIoUGFnZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRnJhbWVUcmVlLmggYi9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKaW5kZXggOTRiOGQx
Ni4uYmFjNTQ3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCisrKyBiL1dl
YkNvcmUvcGFnZS9GcmFtZVRyZWUuaApAQCAtMjYsNyArMjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAgIGNsYXNzIEZyYW1lVHJlZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhbWVUcmVlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRnJhbWVUcmVlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZyYW1lVHJlZShGcmFt
ZSogdGhpc0ZyYW1lLCBGcmFtZSogcGFyZW50RnJhbWUpIAogICAgICAgICAgICAgOiBtX3RoaXNG
cmFtZSh0aGlzRnJhbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDc3MDIyNWIuLmNhODYxZDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC0xMDYsNyArMTA2LDEwIEBAIGRvdWJsZSBGcmFtZVZpZXc6OnNfZGVmZXJy
ZWRSZXBhaW50RGVsYXlJbmNyZW1lbnREdXJpbmdMb2FkaW5nID0gMDsKIC8vIFRoZSBtYXhpbXVt
IG51bWJlciBvZiB1cGRhdGVXaWRnZXRzIGl0ZXJhdGlvbnMgdGhhdCBzaG91bGQgYmUgZG9uZSBi
ZWZvcmUgcmV0dXJuaW5nLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFVwZGF0ZVdpZGdldHNJ
dGVyYXRpb25zID0gMjsKIAotc3RydWN0IFNjaGVkdWxlZEV2ZW50IDogTm9uY29weWFibGUgewor
c3RydWN0IFNjaGVkdWxlZEV2ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVs
ZWRFdmVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CisgICAgU2NoZWR1bGVk
RXZlbnQoKSB7IH0KICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+
IG1fZXZlbnRUYXJnZXQ7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmluZGV4
IDJkODEwNmQuLjE2YzdlYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKQEAg
LTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3Mg
R2VvbG9jYXRpb25FcnJvcjsKIGNsYXNzIEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdl
OwogCi1jbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShH
ZW9sb2NhdGlvbkNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxl
cihQYWdlKiwgR2VvbG9jYXRpb25DbGllbnQqKTsKICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvV2ViQ29yZS9w
YWdlL0dyb3VwU2V0dGluZ3MuaAppbmRleCBmYjZmNmI1Li44YTU1MzU5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRp
bmdzLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdl
R3JvdXA7CiAKLWNsYXNzIEdyb3VwU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgR3JvdXBTZXR0aW5ncyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5n
cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8R3JvdXBTZXR0aW5ncz4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCBlMDc0ODE0Li42YTY4YTVjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmgK
QEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTY2hlZHVs
ZVBhaXIuaCIKQEAgLTg5LDEyICs4OCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBl
bnVtIEZpbmREaXJlY3Rpb24geyBGaW5kRGlyZWN0aW9uRm9yd2FyZCwgRmluZERpcmVjdGlvbkJh
Y2t3YXJkIH07CiAKLSAgICBjbGFzcyBQYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBQYWdlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZSk7CiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgdm9pZCBzY2hlZHVsZUZvcmNlZFN0eWxlUmVjYWxjRm9yQWxs
UGFnZXMoKTsKIAogICAgICAgICAvLyBJdCBpcyB1cCB0byB0aGUgcGxhdGZvcm0gdG8gZW5zdXJl
IHRoYXQgbm9uLW51bGwgY2xpZW50cyBhcmUgcHJvdmlkZWQgd2hlcmUgcmVxdWlyZWQuCi0gICAg
ICAgIHN0cnVjdCBQYWdlQ2xpZW50cyA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgc3RydWN0IFBh
Z2VDbGllbnRzIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDbGllbnRz
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAg
UGFnZUNsaWVudHMoKTsKICAgICAgICAgICAgIH5QYWdlQ2xpZW50cygpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKaW5k
ZXggY2M0N2ZiYS4uMTRkYjQ5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5o
CisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmlu
ZSBQYWdlR3JvdXBfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlICJMaW5rSGFzaC5oIgogI2luY2x1ZGUgIlVzZXJTY3Jp
cHQuaCIKICNpbmNsdWRlICJVc2VyU3R5bGVTaGVldC5oIgpAQCAtNDEsNyArNDAsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBTdG9yYWdlTmFtZXNw
YWNlOwogCi0gICAgY2xhc3MgUGFnZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBQYWdlR3JvdXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3JvdXAp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3Vw
KGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmggYi9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwTG9hZERlZmVycmVyLmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCisrKyBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBh
Z2VHcm91cExvYWREZWZlcnJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUdyb3VwTG9hZERlZmVycmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdy
b3VwTG9hZERlZmVycmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cExvYWREZWZl
cnJlcihQYWdlKiwgYm9vbCBkZWZlclNlbGYpOwogICAgICAgICB+UGFnZUdyb3VwTG9hZERlZmVy
cmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmggYi9XZWJDb3Jl
L3BhZ2UvUGx1Z2luSGFsdGVyLmgKaW5kZXggYWY4YjMxZS4uNWI3MDcyMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0
ZXIuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRh
YmxlUGx1Z2luOwogCi1jbGFzcyBQbHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUGx1Z2luSGFsdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFBsdWdpbkhhbHRlcihQ
bHVnaW5IYWx0ZXJDbGllbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmggYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBjNjUzYWRkLi45Nzk4ZTkwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHRE
aXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVkZWQKICAgICB9OwogCi0gICAgY2xhc3MgU2V0dGlu
Z3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNldHRpbmdzIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgU2V0dGluZ3MoUGFnZSopOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvU3BlZWNoSW5wdXQuaCBiL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCmluZGV4
IDQ1MzJkNDkuLjg1M2MwYWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5o
CisrKyBiL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw3ICs0Niw4IEBAIGNsYXNzIFNwZWVjaElucHV0
TGlzdGVuZXI7CiAvLyBUaGlzIGNsYXNzIGNvbm5lY3RzIHRoZSBpbnB1dCBlbGVtZW50cyByZXF1
aXJpbmcgc3BlZWNoIGlucHV0IHdpdGggdGhlIHBsYXRmb3JtIHNwZWNpZmljCiAvLyBzcGVlY2gg
cmVjb2duaXRpb24gZW5naW5lLiBJdCBwcm92aWRlcyBtZXRob2RzIGZvciB0aGUgaW5wdXQgZWxl
bWVudHMgdG8gYWN0aXZhdGUgc3BlZWNoCiAvLyByZWNvZ25pdGlvbiBhbmQgbWV0aG9kcyBmb3Ig
dGhlIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUgdG8gcmV0dXJuIGJhY2sgdGhlIHJlc3VsdHMu
Ci1jbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFNwZWVjaElu
cHV0TGlzdGVuZXIgeworY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0
ZW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BlZWNoSW5wdXQpOwogcHVibGljOgog
ICAgIFNwZWVjaElucHV0KFNwZWVjaElucHV0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+U3BlZWNo
SW5wdXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmggYi9XZWJDb3Jl
L3BhZ2UvVXNlclNjcmlwdC5oCmluZGV4IDA2NTI0MzkuLmNkM2QwZjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaApA
QCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTY3Jp
cHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclNjcmlwdCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVXNlclNjcmlwdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgVXNlclNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJs
LAogICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwg
UGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgK
aW5kZXggZmE0MmUyYy4uMjQ3OTg0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTdHls
ZVNoZWV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcgKzM1
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVXNlclN0eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFVzZXJTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJM
JiB1cmwsCiAgICAgICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdo
aXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmggYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5o
CmluZGV4IDJiNzgxZjEuLjQ5MDcxZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9YU1NBdWRp
dG9yLmgKKysrIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaApAQCAtNjksNyArNjksOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gKiBIVE1MRG9jdW1lbnRQYXJzZXI6OnNob3VsZExv
YWRFeHRlcm5hbFNjcmlwdEZyb21TcmMgLSB1c2VkIHRvIGxvYWQgZXh0ZXJuYWwgSmF2YVNjcmlw
dCBzY3JpcHRzLgogICAgIC8vICogU3ViZnJhbWVMb2FkZXI6OnJlcXVlc3RPYmplY3QgLSB1c2Vk
IHRvIGxvYWQgPG9iamVjdD4vPGVtYmVkPiBlbGVtZW50cy4KICAgICAvLwotICAgIGNsYXNzIFhT
U0F1ZGl0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFhTU0F1ZGl0b3Igewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYU1NBdWRpdG9yKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFhTU0F1ZGl0b3IoRnJhbWUqKTsKICAgICAg
ICAgflhTU0F1ZGl0b3IoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5p
bWF0aW9uQmFzZS5jcHAgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3Bw
CmluZGV4IDY2MTcyZjcuLjUxMjY1MGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25CYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw4IEBAIGNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2U7
CiBzdGF0aWMgdm9pZCBhZGRTaG9ydGhhbmRQcm9wZXJ0aWVzKCk7CiBzdGF0aWMgUHJvcGVydHlX
cmFwcGVyQmFzZSogd3JhcHBlckZvclByb3BlcnR5KGludCBwcm9wZXJ0eUlEKTsKIAotY2xhc3Mg
UHJvcGVydHlXcmFwcGVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9wZXJ0
eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9wZXJ0eVdyYXBwZXJC
YXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9wZXJ0eVdyYXBw
ZXJCYXNlKGludCBwcm9wKQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDM4LDcgKzQzOSw4
IEBAIHB1YmxpYzoKIH07CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmlsbExheWVy
UHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJh
c2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJH
ZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1YmxpYzoK
ICAgICBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoqZ2V0dGVy
KSgpIGNvbnN0KQogICAgICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA4OTNjNzE3
Li5lYTc4Y2MxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBS
ZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJTdHlsZTsKIAotY2xhc3MgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSopOwogICAgIH5BbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmlt
YXRpb24uaCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKaW5k
ZXggMjQ5ZjRjMy4uMGQwYmIxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
b21wb3NpdGVBbmltYXRpb24uaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0
ZUFuaW1hdGlvbi5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiSW1wbGljaXRBbmltYXRp
b24uaCIKICNpbmNsdWRlICJLZXlmcmFtZUFuaW1hdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbWljU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0KaW5kZXggMmRiNzEzZi4uYjk4YmNiMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KKysrIGIvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0KQEAgLTc3LDcgKzc3LDggQEAgTlNFdmVudCAqRXZlbnRIYW5kbGVyOjpjdXJy
ZW50TlNFdmVudCgpCiAgICAgcmV0dXJuIGN1cnJlbnROU0V2ZW50U2xvdCgpLmdldCgpOwogfQog
Ci1jbGFzcyBDdXJyZW50RXZlbnRTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBD
dXJyZW50RXZlbnRTY29wZSB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEN1cnJlbnRFdmVu
dFNjb3BlKTsKIHB1YmxpYzoKICAgICBDdXJyZW50RXZlbnRTY29wZShOU0V2ZW50ICopOwogICAg
IH5DdXJyZW50RXZlbnRTY29wZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKaW5kZXgg
ZDk2YzFhZC4uYzM0YTY0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVT
eXN0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC00NCw3
ICs0NCw4IEBAIGNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrczsKIGNsYXNzIEFzeW5jRmls
ZVdyaXRlckNsaWVudDsKIAogLy8gVGhpcyBjbGFzcyBwcm92aWRlcyBhc3luYyBpbnRlcmZhY2Ug
Zm9yIHBsYXRmb3JtLXNwZWNpZmljIGZpbGUgc3lzdGVtIGltcGxlbWVudGF0aW9uLiAgTm90ZSB0
aGF0IGFsbCB0aGUgbWV0aG9kcyB0YWtlIHBsYXRmb3JtIHBhdGhzLgotY2xhc3MgQXN5bmNGaWxl
U3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICB2
aXJ0dWFsIH5Bc3luY0ZpbGVTeXN0ZW0oKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNG
aWxlU3lzdGVtQ2FsbGJhY2tzLmgKaW5kZXggMjkwYTY2OS4uY2VlOGQ5MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCkBAIC00MSw4ICs0MSwxMSBAQCBj
bGFzcyBBc3luY0ZpbGVTeXN0ZW07CiBjbGFzcyBBc3luY0ZpbGVXcml0ZXI7CiBzdHJ1Y3QgRmls
ZU1ldGFkYXRhOwogCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MpOwogcHVibGljOgorICAgIEFz
eW5jRmlsZVN5c3RlbUNhbGxiYWNrcygpIHsgfSAgICAKKwogICAgIC8vIENhbGxlZCB3aGVuIGEg
cmVxdWVzdGVkIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgogICAgIHZpcnR1
YWwgdm9pZCBkaWRTdWNjZWVkKCkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L0F1dG9kcmFpbmVkUG9vbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApp
bmRleCBkNDRlZTFlLi5kNjU1NDMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9k
cmFpbmVkUG9vbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKQEAg
LTI5LDcgKzI5LDYgQEAKICNpZm5kZWYgQXV0b2RyYWluZWRQb29sX2gKICNkZWZpbmUgQXV0b2Ry
YWluZWRQb29sX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWZkZWYgX19P
QkpDX18KIEBjbGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsKQEAgLTM5LDcgKzM4LDggQEAgY2xhc3Mg
TlNBdXRvcmVsZWFzZVBvb2w7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXV0b2Ry
YWluZWRQb29sIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1dG9kcmFpbmVkUG9vbCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXV0b2RyYWluZWRQb29sKTsKIHB1YmxpYzoKICAg
ICBBdXRvZHJhaW5lZFBvb2woaW50IGl0ZXJhdGlvbkxpbWl0ID0gMSk7CiAgICAgfkF1dG9kcmFp
bmVkUG9vbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCmluZGV4IDUzMjFlZDYuLmQ2NjQ5OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0NvbnRleHRNZW51LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29udGV4dE1l
bnVfaAogI2RlZmluZSBDb250ZXh0TWVudV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogI2luY2x1ZGUgIkNvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1
bHQuaCIKQEAgLTQ1LDggKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENv
bnRleHRNZW51Q2xpZW50RWZsOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudSA6IHB1
YmxpYyBOb25jb3B5YWJsZQotICAgIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhpdFRlc3RSZXN1bHQm
KTsKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IFBsYXRm
b3JtTWVudURlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4
dE1lbnVJdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCmluZGV4IGU3
MDI5MjEuLjExMjY1NGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJ
dGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApAQCAtMjUyLDcg
KzI1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRmb3Jt
TWVudUl0ZW1EZXNjcmlwdGlvbjsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVJdGVt
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uKTsKICAgICAgICAgQ29udGV4
dE1lbnVJdGVtKENvbnRleHRNZW51KiBzdWJNZW51ID0gMCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0
ZWRQdHJMaXN0LmgKaW5kZXggNDdjZDUzOC4uMWU5OTQ5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIERlcHJlY2F0ZWRQdHJM
aXN0X2gKIAogI2luY2x1ZGUgIkRlcHJlY2F0ZWRQdHJMaXN0SW1wbC5oIgotI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I7CiAKLXRlbXBsYXRlIDxjbGFz
cyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK3Rl
bXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBEZXByZWNhdGVkUHRyTGlzdCgpIDogaW1wbChk
ZWxldGVGdW5jKSwgZGVsX2l0ZW0oZmFsc2UpIHsgfQogICAgIH5EZXByZWNhdGVkUHRyTGlzdCgp
IHsgaW1wbC5jbGVhcihkZWxfaXRlbSk7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
RGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0
ckxpc3RJbXBsLmNwcAppbmRleCA5NmZkNTEzLi4zYTk5MWY5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCkBAIC0yOSwxMiArMjksMTEgQEAKICNpbmNsdWRl
IDxjc3RkZGVmPgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xh
c3MgRGVwcmVjYXRlZExpc3ROb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZXByZWNh
dGVkTGlzdE5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJl
Y2F0ZWRMaXN0Tm9kZSh2b2lkICpkKSA6IGRhdGEoZCksIG5leHQoMCksIHByZXYoMCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0V2ZW50TG9vcC5oCmluZGV4IGIwNTA3ZjcuLjhmNjQ3NDggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3Au
aApAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIEV2ZW50TG9vcF9oCiAjZGVmaW5lIEV2ZW50
TG9vcF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi0gICAgY2xhc3MgRXZlbnRMb29wIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBFdmVudExvb3AgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudExvb3Ap
OwogICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRMb29wKCkKICAgICAgICAgICAgIDogbV9lbmRl
ZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNl
LmggYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCmluZGV4IDE1ODVmNjUu
LmQ2MGFlNmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNl
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaApAQCAtMjYsNyAr
MjYsNyBAQAogI2lmbmRlZiBHZW9sb2NhdGlvblNlcnZpY2VfaAogI2RlZmluZSBHZW9sb2NhdGlv
blNlcnZpY2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDIsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uU2VydmljZUVycm9yT2NjdXJyZWQo
R2VvbG9jYXRpb25TZXJ2aWNlKikgPSAwOwogfTsKIAotY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uU2VydmljZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25TZXJ2aWNlKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgR2VvbG9jYXRpb25TZXJ2aWNlKiBjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50
Kik7CiAgICAgdmlydHVhbCB+R2VvbG9jYXRpb25TZXJ2aWNlKCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRv
dy5oCmluZGV4IDc4ODJkNDguLjc4YTQ0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
SG9zdFdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBAIC0yNiwx
NSArMjYsMTYgQEAKICNpZm5kZWYgSG9zdFdpbmRvd19oCiAjZGVmaW5lIEhvc3RXaW5kb3dfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3Vyc29yOwogCi1jbGFzcyBIb3N0V2luZG93IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhvc3RXaW5kb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgor
ICAgIEhvc3RXaW5kb3coKSB7IH0KICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93KCkgeyB9CiAKICAg
ICAvLyBSZXF1ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSB3aW5kb3csIG5vdCB0aGUgY29u
dGVudHMuICBJZiBpbW1lZGlhdGUgaXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91c2x5LCBvdGhlcndp
c2UgYXN5bmMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjg4M2ZmMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vS2ls
bFJpbmcuaApAQCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBL
aWxsUmluZyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lk
IGFwcGVuZChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHByZXBlbmQoY29uc3QgU3RyaW5nJik7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9MZW5ndGguaAppbmRleCA3ZGQ4NzVlLi5jNDI5YTY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL0xlbmd0aC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKQEAgLTIyLDcg
KzIyLDYgQEAKICNkZWZpbmUgTGVuZ3RoX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKQEAgLTM1LDcgKzM0LDkgQEAgY29uc3Qg
aW50IGludE1pbkZvckxlbmd0aCA9ICgtMHg3ZmZmZmZmIC0gMSk7IC8vIG1pbiB2YWx1ZSBmb3Ig
YSAyOC1iaXQgaW50CiAKIGVudW0gTGVuZ3RoVHlwZSB7IEF1dG8sIFJlbGF0aXZlLCBQZXJjZW50
LCBGaXhlZCwgU3RhdGljLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYyB9OwogCi1zdHJ1Y3QgTGVu
Z3RoIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgTGVuZ3RoIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIExlbmd0aCgpCiAgICAgICAgIDogbV92YWx1ZSgwKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggN2M1MDczNy4uNDk2ZmJiMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Q
YXN0ZWJvYXJkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC04MSw3
ICs4MCw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIGNsYXNzIEFyY2hpdmVSZXNvdXJj
ZTsKICAgICAKLWNsYXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UGFzdGVib2FyZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFzdGVib2FyZCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vSGVs
cGVyIGZ1bmN0aW9ucyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKaW5kZXggYmMyOGU4NC4uNmEzNjMxOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCkBAIC03NSw3ICs3NSw4IEBA
IHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLSAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7CiAgICAgICAg
ICAgICAvLyBLZXlEb3duIGlzIHNlbnQgYnkgcGxhdGZvcm1zIHN1Y2ggYXMgTWFjIE9TIFgsIGd0
ayBhbmQgUXQsIGFuZCBoYXMgaW5mb3JtYXRpb24gYWJvdXQgYm90aCBwaHlzaWNhbCBwcmVzc2Vk
IGtleSwgYW5kIGl0cyB0cmFuc2xhdGlvbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
UHVyZ2VhYmxlQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCmlu
ZGV4IDliZGEyZDUuLjQ0MTM2YzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2Vh
YmxlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaApAQCAt
MjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIFB1cmdlYWJsZUJ1ZmZlcl9oCiAKICNpbmNsdWRlICJQ
dXJnZVByaW9yaXR5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAKLSAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFB1cmdlYWJsZUJ1ZmZlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
UGFzc093blB0cjxQdXJnZWFibGVCdWZmZXI+IGNyZWF0ZShjb25zdCBjaGFyKiBkYXRhLCBzaXpl
X3QpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCmluZGV4IDY1ZjI1M2UuLmY4YzUy
OWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVmaW5l
IFJ1bkxvb3BUaW1lcl9oCiAKICNpbmNsdWRlICJTY2hlZHVsZVBhaXIuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogLy8gVGltZSBpbnRlcnZhbHMgYXJlIGFsbCBpbiBzZWNvbmRzLgogCi1j
bGFzcyBSdW5Mb29wVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJ1bkxv
b3BUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BUaW1lckJhc2Up
OwogcHVibGljOgorICAgIFJ1bkxvb3BUaW1lckJhc2UoKSB7IH0KICAgICB2aXJ0dWFsIH5SdW5M
b29wVGltZXJCYXNlKCk7CiAKICAgICB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpciop
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDBlZmFmN2EuLmIzZDg4OTYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKQEAgLTM2LDggKzM2LDEwIEBAIGNsYXNzIFBsYXRmb3Jt
TW91c2VFdmVudDsKIGNsYXNzIFNjcm9sbGJhcjsKIGNsYXNzIFNjcm9sbFZpZXc7CiAKLWNsYXNz
IFNjcm9sbGJhclRoZW1lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcm9sbGJhclRo
ZW1lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JvbGxiYXJUaGVtZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU2Nyb2xsYmFyVGhlbWUoKSB7IH0KICAgICB2
aXJ0dWFsIH5TY3JvbGxiYXJUaGVtZSgpIHt9OwogCiAgICAgdmlydHVhbCBib29sIHBhaW50KFNj
cm9sbGJhciosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIC8qZGFtYWdlUmVjdCov
KSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRU
aW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCmluZGV4IDViNWNkMTQuLjEy
ZGQ2ZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRl
ZiBTaGFyZWRUaW1lcl9oCiAjZGVmaW5lIFNoYXJlZFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBFYWNoIHRocmVh
ZCBoYXMgaXRzIG93biBzaW5nbGUgaW5zdGFuY2Ugb2Ygc2hhcmVkIHRpbWVyLCB3aGljaCBpbXBs
ZW1lbnRzIHRoaXMgaW50ZXJmYWNlLgogICAgIC8vIFRoaXMgaW5zdGFuY2UgaXMgc2hhcmVkIGJ5
IGFsbCB0aW1lcnMgaW4gdGhlIHRocmVhZC4KICAgICAvLyBOb3QgaW50ZW5kZWQgdG8gYmUgdXNl
ZCBkaXJlY3RseTsgdXNlIHRoZSBUaW1lciBjbGFzcyBpbnN0ZWFkLgotICAgIGNsYXNzIFNoYXJl
ZFRpbWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTaGFyZWRUaW1lciB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYXJlZFRpbWVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFNoYXJlZFRpbWVyKCkgeyB9CiAgICAgICAg
IHZpcnR1YWwgflNoYXJlZFRpbWVyKCkge30KICAgICAgICAgdmlydHVhbCB2b2lkIHNldEZpcmVk
RnVuY3Rpb24odm9pZCAoKikoKSkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZEdsb2JhbERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5o
CmluZGV4IDlmNTdmMDAuLmU4NDJiN2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkR2xvYmFsRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5o
CkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYgRU5BQkxFKFdPUktFUlMpCkBAIC00NSw3ICs0
NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29udmVydGVyV3JhcHBl
cjsKICAgICBjbGFzcyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRh
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFsRGF0YSk7CiAgICAgcHVibGlj
OgogICAgICAgICBUaHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAgIH5UaHJlYWRHbG9iYWxEYXRh
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBhYjQyNTk4Li4zNWVkMDFmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJz
X2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBA
IC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaW1lckJhc2U7
CiAKICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0aHJlYWQuIEtlcHQgaW4gVGhy
ZWFkR2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBUaHJlYWRUaW1lcnMoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IGM0NDQzZGEuLjA4MTA0MDEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL1RpbWVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVGltZXJfaAogI2RlZmluZSBU
aW1lcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDcgKzM0LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBUaW1lckhlYXBFbGVtZW50OwogCi1jbGFzcyBUaW1lckJh
c2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGltZXJCYXNlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUaW1lckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIFRpbWVyQmFzZSgpOwogICAgIHZpcnR1YWwgflRpbWVyQmFzZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVT
aGFyZWQuaAppbmRleCA5ZDlhYzFmLi5iODcyYWRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL1RyZWVTaGFyZWQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAt
MjIsNyArMjIsNiBAQAogI2RlZmluZSBUcmVlU2hhcmVkX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3Nl
cnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMiw3ICszMSw4IEBAIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQ7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2
b2lkIGFkb3B0ZWQoVHJlZVNoYXJlZDxUPiopOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFRyZWVTaGFyZWQgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJl
ZVNoYXJlZCk7CiBwdWJsaWM6CiAgICAgVHJlZVNoYXJlZCgpCiAgICAgICAgIDogbV9yZWZDb3Vu
dCgxKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlz
dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCmluZGV4IDlh
MzM0Y2EuLmM4ODEzOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0Fu
aW1hdGlvbkxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBB
bmltYXRpb25MaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQW5pbWF0aW9uTGlz
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBBbmltYXRpb25M
aXN0KCkgeyB9CiAgICAgQW5pbWF0aW9uTGlzdChjb25zdCBBbmltYXRpb25MaXN0Jik7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4uMzk4ZTEyNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9CdXMuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBBdWRpb0J1c19oCiAK
ICNpbmNsdWRlICJBdWRpb0NoYW5uZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApA
QCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBBbiBBdWRpb0J1cyByZXBy
ZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBBdWRpb0NoYW5uZWxzLgogLy8gVGhl
IGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQgdG8gImludGVybGVhdmVkIi4KIC8v
IEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9ubywgYW4gQXVkaW9CdXMgd2l0aCB0
d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBBdWRpb0J1cyAgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0J1cyApOwogcHVibGljOgogICAgIGVudW0gewogICAgICAgICBDaGFubmVsTGVmdCA9IDAs
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRleCA2ODE2ODMwLi43MzI1ZTlm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAgLTMwLDE0ICszMCwxNCBA
QAogI2RlZmluZSBBdWRpb0NoYW5uZWxfaAogCiAjaW5jbHVkZSAiQXVkaW9BcnJheS5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW4gQXVkaW9DaGFubmVsIHJlcHJlc2VudHMgYSBi
dWZmZXIgb2Ygbm9uLWludGVybGVhdmVkIGZsb2F0aW5nLXBvaW50IGF1ZGlvIHNhbXBsZXMuCiAv
LyBUaGUgUENNIHNhbXBsZXMgYXJlIG5vcm1hbGx5IGFzc3VtZWQgdG8gYmUgaW4gYSBub21pbmFs
IHJhbmdlIC0xLjAgLT4gKzEuMAotY2xhc3MgQXVkaW9DaGFubmVsIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEF1ZGlvQ2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVk
aW9DaGFubmVsKTsKIHB1YmxpYzoKICAgICAvLyBNZW1vcnkgY2FuIGJlIGV4dGVybmFsbHkgcmVm
ZXJlbmNlZCwgb3IgY2FuIGJlIGludGVybmFsbHkgYWxsb2NhdGVkIHdpdGggYW4gQXVkaW9GbG9h
dEFycmF5LgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaAppbmRleCBjMzNiMzhm
Li4zNTE0NjkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKQEAgLTMxLDcg
KzMxLDYgQEAKIAogI2luY2x1ZGUgIkhSVEZFbGV2YXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIUlRGS2Vy
bmVsOwogCi1jbGFzcyBIUlRGRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFJURkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRGF0YWJhc2UpOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhSVEZEYXRhYmFzZT4gY3JlYXRlKGRvdWJs
ZSBzYW1wbGVSYXRlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RWxldmF0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaAppbmRl
eCBiMzg4YjM0Li5mNDQ0NDQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24u
aApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBIUlRGRWxldmF0aW9uX2gKIAogI2luY2x1ZGUg
IkhSVEZLZXJuZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IEhSVEZFbGV2YXRpb24gY29udGFpbnMgYWxsIG9mIHRoZSBIUlRGS2VybmVscyAob25lIGxlZnQg
ZWFyIGFuZCBvbmUgcmlnaHQgZWFyIHBlciBhemltdXRoIGFuZ2xlKSBmb3IgYSBwYXJ0aWN1bGFy
IGVsZXZhdGlvbi4KIAotY2xhc3MgSFJURkVsZXZhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIUlRGRWxldmF0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRWxl
dmF0aW9uKTsKIHB1YmxpYzoKICAgICAvLyBMb2FkcyBhbmQgcmV0dXJucyBhbiBIUlRGRWxldmF0
aW9uIHdpdGggdGhlIGdpdmVuIEhSVEYgZGF0YWJhc2Ugc3ViamVjdCBuYW1lIGFuZCBlbGV2YXRp
b24gZnJvbSBicm93c2VyIChvciBXZWJLaXQuZnJhbWV3b3JrKSByZXNvdXJjZXMuCiAgICAgLy8g
Tm9ybWFsbHksIHRoZXJlIHdpbGwgb25seSBiZSBhIHNpbmdsZSBIUlRGIGRhdGFiYXNlIHNldCwg
YnV0IHRoaXMgQVBJIHN1cHBvcnRzIHRoZSBwb3NzaWJpbGl0eSBvZiBtdWx0aXBsZSBvbmVzIHdp
dGggZGlmZmVyZW50IG5hbWVzLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9h
cmRDaHJvbWl1bS5oCmluZGV4IDFkNjk5MjEuLjhkNmZhMjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEludFBvaW50OwogCiAgICAgY2xhc3MgQ2xpcGJvYXJk
Q2hyb21pdW0gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
fkNsaXBib2FyZENocm9taXVtKCkge30KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJ
bWFnZS5oCmluZGV4IDVhNTQ5NjMuLmU5Njc4YzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmgKQEAgLTY4LDcgKzY4LDkgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNs
YXNzIFRpbWVyOwogLy8gRnJhbWVEYXRhIENsYXNzCiAvLyA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotc3RydWN0IEZyYW1lRGF0YSA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBGcmFtZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1l
RGF0YSk7CitwdWJsaWM6CiAgICAgRnJhbWVEYXRhKCkKICAgICAgICAgOiBtX2ZyYW1lKDApCiAg
ICAgICAgICwgbV9oYXZlTWV0YWRhdGEoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbG9yLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgK
aW5kZXggMmU0ZTk2Mi4uNmQ4OTJhOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Db2xvci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaApAQCAt
MjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb2xvcl9oCiAjZGVmaW5lIENvbG9yX2gKIAotI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKQEAgLTc1LDcgKzc0LDggQEAgaW5saW5lIGlu
dCBncmVlbkNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiAoY29sb3IgPj4gOCkgJiAweEZG
OyB9CiBpbmxpbmUgaW50IGJsdWVDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gY29sb3Ig
JiAweEZGOyB9CiBpbmxpbmUgaW50IGFscGhhQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJu
IChjb2xvciA+PiAyNCkgJiAweEZGOyB9CiAKLWNsYXNzIENvbG9yIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgQ29sb3IgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCksIG1fdmFsaWQoZmFsc2UpIHsgfQogICAgIENv
bG9yKFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wpLCBtX3ZhbGlkKHRydWUpIHsgfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKaW5kZXggODdhMWM1Yy4uMDcy
NWE5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ29udGV4dFNoYWRvdy5oIgogCiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdXNpbmcg
V1RGOjptaW47CiB1c2luZyBXVEY6Om1heDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmNwcAppbmRleCAxNDllYTc5Li5mNWRkOGJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5IEBAIEZvbnRDYWNoZTo6Rm9udENhY2hlKCkK
IHsKIH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSA6IEZhc3RBbGxvY0Jhc2Ug
eworc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKK3B1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29uc3QgQXRv
bWljU3RyaW5nJiBmYW1pbHkgPSBBdG9taWNTdHJpbmcoKSwgdW5zaWduZWQgc2l6ZSA9IDAsIHVu
c2lnbmVkIHdlaWdodCA9IDAsIGJvb2wgaXRhbGljID0gZmFsc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgaXNQcmludGVyRm9udCA9IGZhbHNlLCBGb250UmVuZGVyaW5nTW9k
ZSByZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSwgRm9udE9yaWVudGF0aW9uIG9y
aWVudGF0aW9uID0gSG9yaXpvbnRhbCkKICAgICAgICAgOiBtX3NpemUoc2l6ZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGU2ODQ1ZDkuLjRmYTc0MTQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBGb250
RGVzY3JpcHRpb247CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFzcyBTaW1wbGVGb250RGF0YTsK
IAotY2xhc3MgRm9udENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRDYWNo
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udENhY2hlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBmcmllbmQgRm9udENhY2hlKiBmb250Q2FjaGUoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCmluZGV4IGVlOTRhOTguLjBlYjY2ODUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKQEAgLTI3LDE0ICsyNywxNCBAQAogI2Rl
ZmluZSBGb250RGF0YV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTaW1wbGVGb250RGF0YTsKIAotY2xhc3MgRm9udERh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udERhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBGb250RGF0YSgpCiAgICAgICAgIDogbV9tYXhHbHlwaFBhZ2VUcmVlTGV2ZWwoMCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCmluZGV4IGZhODViY2Mu
LjNlMTNmYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRy
aWNzTWFwLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aApAQCAtNDAsNyArNDAsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IEdseXBoOwogCiBjb25z
dCBmbG9hdCBjR2x5cGhTaXplVW5rbm93biA9IC0xOwogCi10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFz
cyBHbHlwaE1ldHJpY3NNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8Y2xhc3Mg
VD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHbHlw
aE1ldHJpY3NNYXApOwogcHVibGljOgogICAgIEdseXBoTWV0cmljc01hcCgpIDogbV9maWxsZWRQ
cmltYXJ5UGFnZShmYWxzZSkgeyB9CiAgICAgfkdseXBoTWV0cmljc01hcCgpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCA2YWRjOTBiLi5iYTc4OWI1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTM0
LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGF0aC5oIgogI2lu
Y2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCkBAIC0xNTMsNyAr
MTUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBJbnRlcnBvbGF0aW9uSGlnaAog
ICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEdyYXBoaWNzQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGlj
OgogICAgICAgICBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKTsKICAg
ICAgICAgfkdyYXBoaWNzQ29udGV4dCgpOwpAQCAtMzU2LDcgKzM1Niw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRTaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKGJvb2wp
OwogICAgICAgICBib29sIHNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoKSBjb25zdDsKIAotICAg
ICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
Y2xhc3MgV2luZG93c0JpdG1hcCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
aW5kb3dzQml0bWFwKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgV2luZG93c0JpdG1h
cChIREMsIEludFNpemUpOwogICAgICAgICAgICAgfldpbmRvd3NCaXRtYXAoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCBjMmQ1YzI0Li43
YzA3YmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQz
RC5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAv
LyBGSVhNRTogRmluZCBhIGJldHRlciB3YXkgdG8gYXZvaWQgdGhlIG5hbWUgY29uZmxpY3Rpb24g
Zm9yIE5PX0VSUk9SLgogI2lmICgoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKFdJTkRPV1MpKSB8
fCBQTEFURk9STShXSU4pIHx8IChQTEFURk9STShRVCkgJiYgT1MoV0lORE9XUykpKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaAppbmRl
eCA5ODVjYWQ5Li4xOWM2MDY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaApAQCAtODQsNyArODQsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjZW5kaWYKICAgICB9OwogCi0gICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dFByaXZhdGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgR3JhcGhpY3ND
b250ZXh0UHJpdmF0ZSgpCiAgICAgICAgICAgICA6IG1fdXBkYXRpbmdDb250cm9sVGludHMoZmFs
c2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDk5MWNh
MzIuLmU1ZGRjYjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5o
CkBAIC0xMDQsNyArMTA0LDggQEAgY2xhc3MgVGltaW5nRnVuY3Rpb247CiAvLyBCYXNlIGNsYXNz
IGZvciBhbmltYXRpb24gdmFsdWVzIChhbHNvIHVzZWQgZm9yIHRyYW5zaXRpb25zKS4gSGVyZSB0
bwogLy8gcmVwcmVzZW50IHZhbHVlcyBmb3IgcHJvcGVydGllcyBiZWluZyBhbmltYXRlZCB2aWEg
dGhlIEdyYXBoaWNzTGF5ZXIsCiAvLyB3aXRob3V0IHB1bGxpbmcgaW4gc3R5bGUtcmVsYXRlZCBk
YXRhIGZyb20gb3V0c2lkZSBvZiB0aGUgcGxhdGZvcm0gZGlyZWN0b3J5LgotY2xhc3MgQW5pbWF0
aW9uVmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uVmFsdWUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvblZhbHVlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBBbmltYXRpb25WYWx1ZShmbG9hdCBrZXlUaW1lLCBQYXNz
UmVmUHRyPFRpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiA9IDApCiAgICAgICAgIDogbV9r
ZXlUaW1lKGtleVRpbWUpCkBAIC0xNTYsNyArMTU3LDggQEAgcHJpdmF0ZToKIAogLy8gVXNlZCB0
byBzdG9yZSBhIHNlcmllcyBvZiB2YWx1ZXMgaW4gYSBrZXlmcmFtZSBsaXN0LiBWYWx1ZXMgd2ls
bCBhbGwgYmUgb2YgdGhlIHNhbWUgdHlwZSwKIC8vIHdoaWNoIGNhbiBiZSBpbmZlcnJlZCBmcm9t
IHRoZSBwcm9wZXJ0eS4KLWNsYXNzIEtleWZyYW1lVmFsdWVMaXN0IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEtleWZyYW1lVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShLZXlmcmFtZVZhbHVlTGlzdCk7CiBwdWJsaWM6CiAKICAgICBLZXlmcmFtZVZhbHVlTGlzdChB
bmltYXRlZFByb3BlcnR5SUQgcHJvcGVydHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmgKaW5kZXggODIyYTBmZi4uZDU0ZTAwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VCdWZmZXIuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFVubXVsdGlwbGllZAogICAgIH07CiAKLSAgICBjbGFzcyBJbWFnZUJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VCdWZmZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJbWFnZUJ1ZmZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgcHVibGljOgogICAgICAgICAvLyBXaWxsIHJldHVybiBhIG51bGwgcG9pbnRlciBvbiBhbGxv
Y2F0aW9uIGZhaWx1cmUuCiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBj
cmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29sb3JTcGFjZSBjb2xvclNwYWNlID0gQ29sb3JT
cGFjZURldmljZVJHQikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAppbmRl
eCBhZWIxNTYxLi45MWNlZTU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJj
ZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEltYWdlU291cmNlX2gKIAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiAjaWYgUExBVEZPUk0oV1gpCkBAIC0xMTcsNyArMTE2LDggQEAgY29u
c3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IDA7CiBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BJ
bmZpbml0ZSA9IC0xOwogY29uc3QgaW50IGNBbmltYXRpb25Ob25lID0gLTI7CiAKLWNsYXNzIElt
YWdlU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlU291cmNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVNvdXJjZSk7CiBwdWJsaWM6CiAgICAgSW1hZ2VT
b3VyY2UoYm9vbCBwcmVtdWx0aXBseUFscGhhID0gdHJ1ZSwgYm9vbCBpZ25vcmVHYW1tYUFuZENv
bG9yUHJvZmlsZSA9IGZhbHNlKTsKICAgICB+SW1hZ2VTb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggZTg3YzUzYy4uMzE2NTQ3OCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTE0Nyw3ICsxNDcsOSBA
QCBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVhdGVOdWxsTWVkaWFQbGF5
ZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKIAogLy8gZW5naW5lIHN1cHBvcnQKIAotc3RydWN0IE1l
ZGlhUGxheWVyRmFjdG9yeSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBNZWRpYVBsYXllckZhY3Rv
cnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxheWVyRmFjdG9yeSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJGYWN0b3J5KENyZWF0
ZU1lZGlhRW5naW5lUGxheWVyIGNvbnN0cnVjdG9yLCBNZWRpYUVuZ2luZVN1cHBvcnRlZFR5cGVz
IGdldFN1cHBvcnRlZFR5cGVzLCBNZWRpYUVuZ2luZVN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGVB
bmRDb2RlY3MpIAogICAgICAgICA6IGNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKQogICAgICAgICAs
IGdldFN1cHBvcnRlZFR5cGVzKGdldFN1cHBvcnRlZFR5cGVzKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5oCmluZGV4IGM5YzA0MmIuLjcxYzk5ZDkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC0xNDYsNyAr
MTQ1LDggQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBNZWRpYVBsYXllciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTWVkaWFQbGF5ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogCiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXllckNsaWVu
dCogY2xpZW50KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2
YXRlLmgKaW5kZXggZDk1NjI4Ni4uNjY5ODE5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgSW50U2l6ZTsKIAotY2xhc3MgTWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UoKSB7IH0KICAgICB2aXJ0dWFsIH5NZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNv
bnN0IFN0cmluZyYgdXJsKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1BhdGguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCmluZGV4IGJhMjVk
YzIuLjU2Nzc4NGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCkBAIC0yOCw3ICsyOCw2IEBA
CiAjaWZuZGVmIFBhdGhfaAogI2RlZmluZSBQYXRoX2gKIAotI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogI2lmIFBMQVRGT1JNKENHKQpA
QCAtMTAwLDcgKzk5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiB2b2lk
ICgqUGF0aEFwcGxpZXJGdW5jdGlvbikodm9pZCogaW5mbywgY29uc3QgUGF0aEVsZW1lbnQqKTsK
IAotICAgIGNsYXNzIFBhdGggOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGF0
aCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBQYXRoKCk7CiAgICAgICAgIH5QYXRoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1RpbGVkQmFja2luZ1N0b3JlLmgKaW5kZXggNTg0NzdkYi4uOGUzYTA0MSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaApAQCAtMzYsNyArMzYsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBUaWxl
ZEJhY2tpbmdTdG9yZUNsaWVudDsKIAotY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRpbGVkQmFja2luZ1N0b3JlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBUaWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCopOwog
ICAgIH5UaWxlZEJhY2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBkYWMzMWY4Li40
ZjM5NGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZv
bnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRl
ZiBzdHJ1Y3QgRlRfRmFjZVJlY18qICBGVF9GYWNlOwogdHlwZWRlZiBzdHJ1Y3QgX2NhaXJvX2Zv
bnRfZmFjZSBjYWlyb19mb250X2ZhY2VfdDsKQEAgLTM1LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAot
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSk7CiBwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShGVF9G
YWNlLCBTaGFyZWRCdWZmZXIqKTsKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCmluZGV4
IDZmYzFhMGUuLjgxOWY5ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0dMRVMyQ2FudmFzLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJUZXh0dXJl
LmgiCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTAsNyArNDksOCBAQCBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsK
IGNsYXNzIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOwogCi1jbGFzcyBHTEVTMkNhbnZhcyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHTEVTMkNhbnZhcyB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoR0xFUzJDYW52YXMpOwogcHVibGljOgogICAgIEdMRVMyQ2FudmFzKFNoYXJlZEdy
YXBoaWNzQ29udGV4dDNEKiwgRHJhd2luZ0J1ZmZlciosIGNvbnN0IEludFNpemUmKTsKICAgICB+
R0xFUzJDYW52YXMoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IDUzMWQ2NTIuLjNjNzFhYzcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtNDMsNyArNDMsNiBAQAogI2luY2x1ZGUgIlNrQml0
bWFwLmgiCiAjaW5jbHVkZSAiVmlkZW9MYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IDFmMzM1MjcuLjUyNmE4N2IgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFj
ZUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5k
ZXJTdXJmYWNlQ2hyb21pdW0uaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjaW5jbHVkZSAiRmxvYXRS
ZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xhc3MgTGF5ZXJDaHJvbWl1bTsK
IAotY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVu
ZGVyU3VyZmFjZUNocm9taXVtKTsKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9t
aXVtOwogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZhY2VDaHJvbWl1bShMYXllckNo
cm9taXVtKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9U
cmFuc3BhcmVuY3lXaW4uaAppbmRleCBiNmJlZjkxLi4yNzUxMjU4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKQEAgLTM1
LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJ3dGYvT3du
UHRyLmgiCiAKIGNsYXNzIFNrQml0bWFwOwpAQCAtNTQsNyArNTMsOCBAQCBjbGFzcyBUcmFuc3Bh
cmVuY3lXaW5fT3BhcXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMgY29tcG9zaXRl
ZCBsYXRlciBtYW51YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3MnIGluYWJpbGl0
eQogLy8gdG8gaGFuZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJlbnQgdGV4dCwg
YW5kIHRyYW5zZm9ybWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNwYXJlbmN5V2lu
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAgICBlbnVtIExh
eWVyTW9kZSB7CiAgICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQuIERyYXdpbmcg
d2lsbCBoYXBwZW4gdG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0RyYXdpbmdCdWZmZXIuaAppbmRleCA5Zjc5ODg5Li5lMzU2NTkyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC0zNSw3ICszNSw2IEBA
CiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTc3LDggKzc2LDEw
IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgY2xhc3Mg
V2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2ls
bFB1Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQdWJs
aXNoQ2FsbGJhY2spOwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hDYWxsYmFjaygp
IHsgfQogICAgICAgICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAgICAg
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2
NTg0NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
TG9vcEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlubkNsYXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BC
bGlubkNsYXNzaWZpZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZs
b2F0UG9pbnQ7CiAKIC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlw
ZXMuCi1jbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIExvb3BCbGlubkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BC
bGlubkNsYXNzaWZpZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2
ZXMuCiAgICAgZW51bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdl
My4uZDAxZTZjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9v
cEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNp
bmNsdWRlICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIK
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFu
Z3VsYXRpb24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZv
dXIgY29udHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50Lgot
Y2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVy
dGljZXMgdGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90
aAogICAgIC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0
ZXh0dXJlCiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShWZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVy
ZUNvb3Jkcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVy
ZUNvb3Jkcy5oCmluZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9v
cEJsaW5uQ29uc3RhbnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9QT0RBcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEu
aAppbmRleCBmNjhiYWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPREFyZW5hLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNs
dWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1
OCw3ICsxNTcsOCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBv
ZiBtZW1vcnkgYW5kIGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNz
IENodW5rIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFs
bG9jYXRlcyBhIGJsb2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNz
ZWQKICAgICAgICAgLy8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9QT0RJbnRlcnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyAr
MzAsNiBAQAogI2luY2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tU
cmVlLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQ0LDggKzQzLDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZp
Y2llbnQgKE8obGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGlu
dGVydmFscyBpbiB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0g
dm9pZCo+Ci1jbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQs
IFVzZXJEYXRhPiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFj
a1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBPREludGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2Ug
dHlwaW5nIHdoZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0
aGlzIHRyZWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RS
ZWRCbGFja1RyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNr
VHJlZS5oCmluZGV4IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNs
dWRlICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVC
VUcKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgog
ICAgIC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBO
b2RlcyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0
cmVlIGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAg
ICBjbGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAv
LyBDb25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAg
ICAgIGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2
YXRlOgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Ig
d2hpY2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAg
Y2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAg
ICAgICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9TaGFkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CmluZGV4IGU1YmQ4ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1NoYWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1No
YWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRl
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFm
ZmluZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAK
LWNsYXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdy
YXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRj
YThhYjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0Rh
dGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAg
LTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0
YV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRh
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1h
eFRleHR1cmVTaXplLCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9y
ZGVyVGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21h
eFRleHR1cmVTaXplOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVm
ZWZmLi5iZjYwYWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcg
KzI0LDYgQEAKICNpbmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2lu
Y2x1ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBA
QAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDog
cHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3Mg
U3RyZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAg
U3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1p
bmdDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3Uv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlr
dS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlv
bi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7
CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCmluZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUg
PENvcmVGb3VuZGF0aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250
UmVmOwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNo
YXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNG
b250LCBDR0ZvbnRSZWYgY2dGb250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwg
bV9hdHNGb250KGF0c0ZvbnQpLCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4
Li44NDg5OTNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9Q
YWludGVyT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFp
bnRlck9wZW5WRy5oCkBAIC0yNSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3Bl
blZHOwogCiBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVu
VkcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNs
YXNzIFN1cmZhY2VPcGVuVkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0
ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VP
cGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcu
aAppbmRleCA0NmQxNjQ2Li5lZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8
ZWdsLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNp
ZmRlZnMgYW5kIHNob3VsZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2Nv
bnRleHQKICAqIGltcGxlbWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9w
ZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1h
a2VDdXJyZW50TW9kZSB7CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNo
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAppbmRleCA2YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQg
KzI1LDE2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAorcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0K
ICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFG
b250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXgg
MjIwMWYxOC4uOWM2NjJhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9G
b250UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgx
KQpAQCAtNjIsOCArNjMsMTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0
YSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgp
IHsgfQogICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9i
bGlxdWUpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsK
ICAgICBGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZmFtaWx5TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNp
bmcgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NDb250ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHRRdC5jcHAKaW5kZXggMTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjks
OCBAQCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVs
ZSkKICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFD
b2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNw
YXJlbmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5
TGF5ZXIuaAppbmRleCA2YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9j
QmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAs
IGNvbnN0IFFSZWN0ICZyZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAg
ICAgICAgIDogcGl4bWFwKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBv
cGFjaXR5KG9wYWNpdHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4wODNlNThjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24u
aCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC00OSw3ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOworcHVibGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAg
ICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGVfaAogI2RlZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNr
aWE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9u
dG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFw
aGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRl
eHQpCiAgICAgICAgIDogbV9jb250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRl
eCAxMTAwODVkLi5kNjgzYWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUg
UGxhdGZvcm1Db250ZXh0U2tpYV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNp
bmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgog
I2luY2x1ZGUgIlNrRHJhd0xvb3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJl
OwogLy8gcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBp
cyBzdG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3Zp
ZGVzIHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUg
cHVzaGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1D
b250ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRT
a2lhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1
YmxpYzoKICAgICAvLyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFz
LiBjYW52YXMgY2FuIGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFz
LCB5b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFl
ZTEwMi4uMTBmYjA0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUg
IlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1l
bWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykK
ICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0
LDggQEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRp
b25NYXRyaXg7CiAKLWNsYXNzIEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25z
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0
aW9ucy5oCmluZGV4IGMwZGEzNzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAt
MzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9w
ZXJhdGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRp
b25zIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9y
bU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRy
aXguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oCmluZGV4IDk2YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5o
CkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIklu
dFBvaW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3Jh
cGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQ
b2ludDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9y
bWF0aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IHR5cGVkZWYgZG91YmxlIE1hdHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcw
Li4xNjI4ZWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9u
dFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYg
c3RydWN0IENHRm9udCogQ0dGb250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAK
LXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFO
RExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRS
ZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFD
YWlyby5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4uMDY5OTFjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJv
LmgKQEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNp
bmNsdWRlIDxjYWlyby5oPgogCkBAIC0zMyw3ICszMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9m
YWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29u
dGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4
dC5oCmluZGV4IGMyMTYxNDAuLjU5NTFlNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2lu
ZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJl
Y3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJp
dG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4
Li5mZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1v
dmllLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVD
b21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8
Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1Rp
bWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1
YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3Zp
ZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1v
dmllR1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29y
bGQuY3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVk
ZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4
IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUo
KTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRG
bHVzaGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4
dEZsdXNoZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogCkBAIC0zNiw3ICszNSw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmEx
NjZlODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxh
eWVyUmVuZGVyZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZM
YXllclJlbmRlcmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2lu
Y2x1ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAt
NTYsNyArNTUsOCBAQCBwdWJsaWM6CiAvLyBGSVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tD
QUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93
biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZp
Y2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1
KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZM
YXllclJlbmRlcmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXll
clJlbmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NB
Q0ZMYXllclJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2Ny
aXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAw
OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAg
ICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAg
ICAgICA6IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3Jt
RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3Jt
RGF0YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAj
aW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBs
Lmg+CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RFWFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNF
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2lu
Q0UuY3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAs
NyArNDQwLDggQEAgc3RhdGljIHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJt
cCwgY29uc3QgU2hhcmVkQml0bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1h
cDx1bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAot
Y2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJl
bnRMYXllckRDIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMp
OwogcHVibGljOgogICAgIFRyYW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUqIGRhdGEsIEludFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVm
b3JlVHJhbnNmb3JtID0gMCwgaW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxz
ZSk7CiAgICAgflRyYW5zcGFyZW50TGF5ZXJEQygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQg
VHJhbnNwYXJlbnRMYXllckRDOjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNz
IFNjb3BlRENQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBTY29wZURDUHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRl
KiBkYXRhKQogICAgICAgICA6IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44
NmY5OWIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9y
aWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFi
bGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAg
ICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L0ltYWdlRGVjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURl
Y29kZXIuaAppbmRleCA1YTA0YmVlLi4xZDdiOWY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmln
Z2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFnZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVj
b2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGltYWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAg
IC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMg
eWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VE
ZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIElt
YWdlRGVjb2Rlcihib29sIHByZW11bHRpcGx5QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xv
clByb2ZpbGUpCiAgICAgICAgICAgICA6IG1fc2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9D
bGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNmLi44OWY4MzNiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9D
bGlwYm9hcmRNYWMuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVM
aXN0OwogCiBjbGFzcyBDbGlwYm9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlw
ZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vz
c1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5
OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBo
aWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBo
aWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09C
SkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBH
cmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMg
YW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rp
b25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29u
dGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJs
aWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3Jh
cGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAj
aW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxp
Yi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJh
bS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIy
NDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAg
cHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsK
IAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQg
KzIzLDE0IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZv
cm1EYXRhQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFRleHRFbmNvZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0
IFN0cmluZyYgYWNjZXB0Q2hhcnNldCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0
Li4zOTk3ODBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0
YXRlTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRl
Tm90aWZpZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmll
cl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRp
ZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0
d29ya1N0YXRlTm90aWZpZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2Vk
RnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5Y2NjZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgw
LDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxl
SW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVy
c0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVu
dChjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgK
aW5kZXggMzNhMTg0ZS4uMmI3NDE3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8g
RG8gbm90IHVzZSB0aGlzIHR5cGUgZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3Rl
YWQuCi0gICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVz
b3VyY2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAg
ICAgICAgZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJh
c2U6OmNvbXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNl
UmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7
IH0KIAotICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9u
Y29weWFibGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNl
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVl
c3REYXRhQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAg
ICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwg
bV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGlj
eTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgK
aW5kZXggOWM1NGJhYi4uY2I4YTUxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBE
byBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNw
b25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9u
c2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwog
CkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZhdGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0
dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjb21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBv
cGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJj
ZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNv
dXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJl
c291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsgfQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5n
IG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25nIG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5j
cHAKaW5kZXggMGY5Nzg2Ny4uMTgxNThmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xh
c3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91
c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4m
KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1
MDU0MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VI
YW5kbGVXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VI
YW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVh
ZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xh
c3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91
c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKaW5kZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBk
cmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJs
aWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25z
dCBRTWltZURhdGEqIHJlYWRhYmxlQ2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGlu
dCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRl
cm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2Ug
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRl
VHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJp
bmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
VHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi40MjdiMjk2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxp
dGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0
ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJs
ZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBTUUxpdGVUcmFuc2FjdGlvbihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBm
YWxzZSk7CiAgICAgflNRTGl0ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJl
c29sdmVyLmgKaW5kZXggMWY4NzExNS4uMDU2ZWQ3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRp
UmVzb2x2ZXIuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAj
aW5jbHVkZSAiQmlkaUNvbnRleHQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAt
MTI2LDcgKzEyNSw4IEBAIHN0cnVjdCBCaWRpQ2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFj
dGVyUnVuKiBtX25leHQ7CiB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1
bj4gY2xhc3MgQmlkaVJlc29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxj
bGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEJpZGlSZXNvbHZlcik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZl
cigpCiAgICAgICAgIDogbV9kaXJlY3Rpb24oV1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjEy
ZDA1MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lv
bi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0z
MCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJl
c3Npb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVz
c2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4
cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1
ZDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNp
bmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1
NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFi
bGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsK
IAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwg
Ym9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3Ry
YW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2Nv
ZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3
ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRl
eHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRU
cmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lkIGNv
bnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5j
b2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9vbCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4uMmQxNDRiMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0Owog
CiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9w
IGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlwYm9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBw
dWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xp
cGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJv
YXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4u
ZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJy
b2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2Fk
Y2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7
CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVu
ZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93TWVz
c2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJh
c2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYuLjkz
MmExZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisrKyBi
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFja2Fn
ZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRh
YmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2Ugewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODlj
Li5lMmUwODA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNj
aGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVy
LmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lk
Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGRlYWVjOTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
blZpZXcuaApAQCAtOTMsNyArOTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBs
dWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxseQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5S
ZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZy
YW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwg
dm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDog
bV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgK
aW5kZXggNWU2ZjYxOS4uZGI5NDc4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29s
dW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyAr
MzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
Q29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9D
b3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5v
ZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0
aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRl
cmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5
b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2lu
Y2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xh
c3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAg
ICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEz
OWZiLi4zYjVjZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBA
QAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25z
dCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNpemUgPSA0MDk2KTsKICAgICB+UmVuZGVy
QXJlbmEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzU0LDcgKzM1NCw5IEBAIHByaXZhdGU6CiAgICAg
ICAgIGJvb2wgZXZlckhhZExheW91dDsKICAgICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2Jq
ZWN0IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBz
byB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQg
YW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0
ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBAIC02ODEsNyArNjgzLDkgQEAgcHJpdmF0ZToKICAg
ICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9jb250aW51YXRpb247CiAgICAgCiAgICAgLy8gQWxs
b2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZh
bHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFibGUgeworICAg
IHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9j
aykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQo
YmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdp
bkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkK
ICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAxNDNjNzJjLi40ZTVmNmY4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0
YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUw
MCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExh
c3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwg
SW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7
CiAgICAgYm9vbCBzaG91bGRQYWludEF0TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5k
ZXJCb3hNb2RlbE9iamVjdCosIEltYWdlKiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNp
emUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xh
c3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2NzEyLi5lNThjZDliIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNp
bmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgi
CiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVu
ZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFn
ZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJ
bWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5k
ZXggZmIzYWI2Ny4uY2FkODQ1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAKIC8v
IFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhh
dCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3Jh
cGhpY3NMYXllckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxheWVy
QmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJM
YXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi4z
YjVlYjMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhh
bmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVl
LgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5k
ZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVl
KFJlbmRlckxheWVyKik7CiAgICAgdmlydHVhbCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck92ZXJmbG93LmgKaW5kZXggMjUzYTY3Mi4uMzFlMDFlNyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBF
eGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cgYXJlIHNoYWRvd3MsIHRleHQgc3Ryb2tlIChhbmQg
ZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3JkZXItaW1hZ2UpLgogCiAvLyBUaGlzIG9iamVjdCBp
cyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1
bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94LgotY2xhc3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyT3ZlcmZsb3cgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBkZWZhdWx0UmVjdCA9IEludFJl
Y3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUz
ZTkuLjQzNWZlY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0
IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVy
PiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5m
by5oCmluZGV4IGEwOWZjMWEuLjIzYjVlNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxl
Y3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVu
ZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKCkKICAgICAgICAgOiBtX29iamVjdCgwKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5oCmluZGV4IDA3ZjkzM2YuLjEzM2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmgKQEAgLTI1NCw3ICsyNTQsOCBAQCB2b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJW
aWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3Rh
dGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExheW91dFN0YXRlTWFpbnRhaW5lcik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBw
dXNoIG5vdwogICAgIExheW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5k
ZXJCb3gqIHJvb3QsIEludFNpemUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBp
bnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1u
SW5mbyogY29sSW5mbyA9IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXRQcm90ZWN0b3IuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rv
ci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldp
ZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJpdmF0ZSBOb25jb3B5YWJsZSB7Citj
bGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
bmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAgICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9y
KFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAppbmRleCA5YmNjN2E0Li45MjI1ODA1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCkBAIC0yMiw3ICsyMiw2IEBA
CiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzIsNyArMzEs
OCBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiAKLWNsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHSW1hZ2VCdWZmZXJUb29scyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRl
SW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgY2xhbXBlZEFic29sdXRlVGFyZ2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYs
IENvbG9yU3BhY2UpOwogICAgIHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVy
KEltYWdlQnVmZmVyKiwgUmVuZGVyT2JqZWN0KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0
YmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIz
LDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1
ZGUgIlNWR01hcmtlckRhdGEuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw4IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQg
ewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlv
dXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR01hcmtlckxheW91dEluZm8g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR01hcmtlckxheW91dEluZm8pOwogcHVibGlj
OgogICAgIFNWR01hcmtlckxheW91dEluZm8oKTsKICAgICB+U1ZHTWFya2VyTGF5b3V0SW5mbygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAppbmRleCA0OTU5MWNmLi42NTk5MWFkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXMuaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykK
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBA
IC0zOCw3ICszNyw4IEBAIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlTWFza2VyOwogY2xhc3MgU1ZH
UmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEgc2V0IG9mIHJlc291cmNlcyBhc3NvY2lhdGVkIHdp
dGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNWR1Jlc291cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jl
c291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3Vy
Y2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hl
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAu
LjgyN2FjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hl
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAtMzEsNyAr
MzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0Nh
Y2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRl
eCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNv
dXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5
Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3Mg
UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNz
IFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNW
R1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNv
dXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIo
UmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29s
dmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxh
eW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFz
cyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIFRhYmxlTGF5b3V0KFJlbmRlclRhYmxlKiB0YWJsZSkKICAg
ICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJh
bnNmb3JtU3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKaW5kZXgg
MGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3Jt
U3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwx
NCArMzEsMTQgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgi
CiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRy
YW5zZm9ybVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7
CiBwdWJsaWM6CiAgICAgZW51bSBUcmFuc2Zvcm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURp
cmVjdGlvbiwgVW5hcHBseUludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRy
YW5zZm9ybUFjY3VtdWxhdGlvbiB7IEZsYXR0ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zv
cm0gfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNo
ZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRl
YWVmNS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3Np
dGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hl
LmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3QgaW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7
CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0
aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAotY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGljYWxQb3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoK
ICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUoKQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRhMi4uZjIzZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9Db250ZW50RGF0YS5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgU3R5bGVJbWFnZTsKIAotc3RydWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IENvbnRlbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEo
KQogICAgICAgICA6IG1fdHlwZShDT05URU5UX05PTkUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
Q291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi5kZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmll
ciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQog
ICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxs
TGF5ZXIuaAppbmRleCA0OWZiMjk0Li5jNmVlNTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxs
TGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNp
emUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBGaWxsTGF5ZXIoRUZpbGxMYXllclR5cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBjYTgzYWYwLi41MGNmMGJlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIFNo
YWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgZW51bSBT
aGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsKIAogLy8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5m
b3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRleHQtc2hhZG93IGFuZCBib3gtc2hhZG93
IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0RhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1feCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKaW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4
IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBh
Y3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQsIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25z
IGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVj
dHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQaGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZp
Y2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBwbGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBj
aHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVuZ3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVp
bGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoK
ICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaAppbmRleCBmMjlhYzY0Li5j
NjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0
dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlv
dXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1Rl
eHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsg
Ym91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAvLyBUaGUgc2Vjb25kIGxheW91dCBwaGFz
ZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0
TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
VGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlv
dXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQgYnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9y
VGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQwNThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNz
IFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVyU1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29t
cHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJl
IHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0
TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRF
bmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwog
cHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWls
ZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsg
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVC
YXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNl
bGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkzZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAK
IAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMs
NyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwog
CiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAn
YWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1z
aGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAg
IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2
ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMwLDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5
bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0
TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2VybmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAn
d29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6
CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4uY2UwYmE0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2su
aApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2Vk
IHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBw
YXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhl
IHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNl
VGFza1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYK
IH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
YXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNr
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFi
YXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAv
LyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFz
ZVBhdGgpOwogICAgIHN0YXRpYyBEYXRhYmFzZVRyYWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9XZWJD
b3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3MzEu
LjRmY2MyMzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rp
b25Nb25pdG9yLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1v
bml0b3IuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDcgKzQzLDggQEAgY2xhc3MgSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogLy8gRklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFu
c2FjdGlvbnMgdG8gVExTLiBLZWVwaW5nIGl0IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNl
IHdlIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJzLiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlv
biBpcyB0byBrZWVwIHRoZSB2ZWN0b3IgaW4gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1j
bGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGFkZFBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UqKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9j
YWxTdG9yYWdlVGFzay5oIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAppbmRl
eCBhMmUzNWVhLi40NjcyMDQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9y
YWdlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3
LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRo
cmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGFzawot
ICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2Nh
bFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQsIEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNl
LCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2Fs
U3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmlu
ZGV4IDZmMDU5MTEuLjI0ZmUxOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0
b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3Rv
cmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRo
cmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3Jl
YXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5R
dW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi5hYzI4YTc3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdp
blF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3Mg
T3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1
b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBPcmlnaW5RdW90YU1hbmFn
ZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgg
Yi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li5kNmFl
NTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysg
Yi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNl
ZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAv
LyBTdHJpbmcgYXJndW1lbnRzIGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQg
YnkgdGhlIGNhbGxlciB3aGVuIG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgT3JpZ2luVXNhZ2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBmZWQwNjU3Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxF
KERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAgQEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAog
Ly8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5zYWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNh
Y3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQKIC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5n
cyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNhY3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNs
aWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9
CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsK
ICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJv
b2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0Mywx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAot
ICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Io
KSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAg
ICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgc2h1dGRv
d24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIv
V2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBh
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIv
V2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xh
c3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZH
RWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZH
UGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpA
QCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQ
ZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291
cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25z
KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9u
cyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAg
ICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4g
UGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQg
YnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJh
cmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBT
VkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50
UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAg
ICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250
RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li4yOTQxYTll
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3Zn
L1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250
RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVu
dCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRl
eCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRl
ci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBA
QAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVk
ZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZH
UGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJl
YW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uY2Fi
ZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5l
IFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWdu
ZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5
dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRo
Qnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29u
c3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9T
VkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAt
MjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50Lmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBh
cnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Bh
dGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1ZHUGF0
aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291
bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZH
UGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUu
LmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9X
ZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUg
IlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJT
VkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRo
UGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4
IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2Uu
aAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBT
VkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAg
ICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXgg
ZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAor
KysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZH
Vmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAg
ICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQ
YW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVt
ZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBi
L1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCBjOTgwNGFlLi45MTYyNmM0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01NSw3ICs1NSw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1w
dHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUNocm9t
ZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAg
OiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFu
YWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZj
MTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlz
ZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyAr
MzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAK
LWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
bHRpbWVBbmFseXNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNl
cik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0
aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93
ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJz
b2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNp
ZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAot
Y2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tl
dENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNv
Y2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5u
ZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0
cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwm
IHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNv
Y2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAg
dmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhh
bmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1
ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5l
Y3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi5hYzgzZThlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJD
b3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIs
NiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7
CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNv
dW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0
ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBj
bGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3Ry
aW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoKIHByaXZh
dGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBhbmQgaXRzIGJy
aWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0gICAgY2xhc3Mg
UGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2Fk
ZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90
b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGExLi42OGY5NjI1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dv
cmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAog
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lm
aWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGlu
dGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBJ
bnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAg
dGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJl
ZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29y
a2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5o
CkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlz
Q2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVy
IGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRp
bmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdv
cmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5j
bHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29y
a2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29u
dGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQ
cm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94
eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwg
cHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1Ymxp
YzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1
bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1
bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdv
cmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRlZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJS
dW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAg
IHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NP
d25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBt
b2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmlu
ZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3
ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRp
bGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFT
RSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQg
V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291
bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsK
K3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVh
dGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA2MTAz
NzAzLi42OTJjMGQ4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3Bw
CisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjUsNyArNjUsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1s
SHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBY
TUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJl
cXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVz
dFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFhNTEh0
dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4Owog
ICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDA5OGUx
OWYuLjliMWQyNjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysr
IGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBU
ZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1M
SHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBF
dmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRl
eHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwv
WFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5o
CmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoRXhw
cmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAg
LTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRo
IHsKICAgICAgICAgCi0gICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxv
Y0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJl
ZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAg
ICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAg
IH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VO
b2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMg
RXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5k
ZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0
LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFz
cyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0
IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVE
aXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0YThlNDgu
LjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvV2Vi
Q29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0
KSwgZXFvcCh2KSB7fQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQ
YXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1s
L1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVm
MjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgK
KysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsK
IAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJl
ZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAg
ICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhT
dGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBh
dGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAg
Ci0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBB
bmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcg
KzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAg
ICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAg
ICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICAgICAgcHVibGlj
OgogICAgICAgICAgICAgICAgIGVudW0gS2luZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHRO
b2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwg
QW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRS
dWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uMWZlYTVi
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUv
eG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHVi
bGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBv
cnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYg
aHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBiNmViYTIxLi5lYWE5ODI4IDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yNCAgWm9s
dGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQg
RmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NC
YXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2
NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVy
aXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5o
IGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBG
b3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0x
OCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90
VG9CZUxvY2FsaXplZC50eHQ6IFVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Jv
dW5kT2JqZWN0LmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAK
ICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogLy8gQm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRz
IHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRo
b2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1
aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91
bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1Ymxp
YzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lk
KiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2Jq
ZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmlu
ZGV4IDA4NjBjYjEuLjU5YzIxNzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBs
LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0Nv
bmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29s
IERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNl
OwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRl
YnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFw
cGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6
IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGlj
aXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNz
IFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5k
bGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFu
ZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8v
IGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1j
bGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
ZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJB
Z2VudE1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVn
Z2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFj
aChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2
Y2FkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRJbXBsLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRJbXBsX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3Bl
Y3RvckZyb250ZW5kSG9zdDsKQEAgLTQ0LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBj
bGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVu
ZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJD
b3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENs
aWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJs
aWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJE
ZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5kZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTU4LDcg
KzU4LDYgQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0lt
cGwuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zy
b250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1w
bC5oCmluZGV4IDg2NmExY2IuLmIwODUzMzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5o
PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0
LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5n
OwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRl
dlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktp
dDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2
VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBs
KAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA0NDIyZTFiLi4yNmI5NmJjIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yODAsNyArMjgwLDggQEAgV2ViUGx1Z2luQ29udGFp
bmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZy
YW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQg
YmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRo
ZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBD
aHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAg
ICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4
dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1w
bC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEw
My4uNGZkNDJhNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJ
bXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2
LDYgKzU2LDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVi
bGljIFdlYlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29y
ZTo6RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xv
c2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgK
KysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
RWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwog
cHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhi
MTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxl
bWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAg
dmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4t
bGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVu
dC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDgg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9h
ZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93
bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25s
b2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdI
ZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
NTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05v
bmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2Ny
aXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hv
c3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9I
b3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2
NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29s
IGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXks
IE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1h
cnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2df
dHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJl
c3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
T2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAg
ICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dl
YkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFz
ZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBA
IFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7
CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlk
TW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01h
aW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2lu
KiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dl
YktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03
Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYv
VENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAt
LWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZh
cmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NP
TUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwx
MiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5o
IgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlh
bnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09N
RW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50
KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVh
dGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEw
YzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisr
KyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVm
aW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09N
VmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5h
bWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5
cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJ
UHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3Mg
Q09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFn
MiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6
DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNo
TWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlh
YzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBA
IC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9
OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxs
c2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAg
ICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1h
bmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4v
V2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdl
ci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NU
UiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFz
cyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1Ymxp
YyBJUHJvcGVydHlCYWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWls
c1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVy
dHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgs
NyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6
OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlP
cmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVi
bGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFu
YWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3Bl
Y3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2Vi
SW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMw
LDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2Vi
SW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJp
dmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJ
V2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3Bl
Y3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3Ry
aW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9X
ZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVT
dHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZy
YW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXpl
ZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAg
TG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5n
KHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktp
dC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0g
YS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRX
b3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBE
T01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNv
cHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDog
cHVibGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2Ny
aXB0V29ybGQpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRX
b3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNl
KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJL
aXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2
NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93
aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJT
ZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxp
emVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3Mg
V2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJs
aWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2Vi
U2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250
ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktp
dC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2Vy
Q29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29u
dGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJ
V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJV
c2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGI1YmUyMTQuLjk0OGRhZDQg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjQgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
R2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAg
ICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMg
Z2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBh
bmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxl
bWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9j
QmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTIzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
biAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEts
aW5nLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9y
ZS5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCmluZGV4IDgx
MTMyMzYuLjhlZmZiMGQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5h
cnlTZW1hcGhvcmUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBo
b3JlLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmluYXJ5U2VtYXBob3JlX2gKICNkZWZp
bmUgQmluYXJ5U2VtYXBob3JlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmggYi9XZWJLaXQyL1BsYXRmb3Jt
L01vZHVsZS5oCmluZGV4IDA4MjViZjYuLmVjMWFjY2QgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxh
dGZvcm0vTW9kdWxlLmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaApAQCAtMjYsNyAr
MjYsNiBAQAogI2lmbmRlZiBNb2R1bGVfaAogI2RlZmluZSBNb2R1bGVfaAogCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCkBAIC0zOSw3ICszOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
Ci1jbGFzcyBNb2R1bGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTW9kdWxlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShNb2R1bGUpOwogcHVibGljOgogICAgIE1vZHVsZShjb25z
dCBTdHJpbmcmIHBhdGgpOwogICAgIH5Nb2R1bGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxh
dGZvcm0vU2hhcmVkTWVtb3J5LmggYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCmlu
ZGV4IDA1ZGMwZGQuLmE4NmI5ZmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVk
TWVtb3J5LmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaApAQCAtMjYsNyAr
MjYsNiBAQAogI2lmbmRlZiBTaGFyZWRNZW1vcnlfaAogI2RlZmluZSBTaGFyZWRNZW1vcnlfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC01Miw3ICs1MSw4IEBAIHB1Ymxp
YzoKICAgICAgICAgUmVhZFdyaXRlCiAgICAgfTsKIAotICAgIGNsYXNzIEhhbmRsZSA6IE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBIYW5kbGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShIYW5kbGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgSGFuZGxlKCk7CiAgICAgICAgIH5IYW5k
bGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVy
UHJveHkuaCBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaApp
bmRleCA2OTM0MzI5Li4xMTVjMTEzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5LmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiUGx1Z2luQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnku
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNp
bmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aAppbmRleCA2NzBlMWEzLi5kNzUxMGJkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9j
ZXNzLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgV2ViUHJvY2Vzc0Nvbm5lY3Rpb247CiBzdHJ1
Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICAgICAgICAgCiBjbGFzcyBQbHVn
aW5Qcm9jZXNzIDogQ2hpbGRQcm9jZXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVn
aW5Qcm9jZXNzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2VzcyYgc2hhcmVkKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvV2ViS2l0Mi9T
aGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggNzhmZTFmNC4uOGM1ZThlMyAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmgKQEAgLTI3LDEzICsyNywxMSBAQAogI2RlZmluZSBDaGlsZFByb2Nlc3NfaAogCiAj
aW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQcm9jZXNzIDogcHJvdGVjdGVkIENvcmVJ
UEM6OkNvbm5lY3Rpb246OkNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hpbGRQ
cm9jZXNzKTsKLQogcHJvdGVjdGVkOgogICAgIENoaWxkUHJvY2VzcygpOwogICAgIH5DaGlsZFBy
b2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXIuaCBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVj
ZWl2ZXIuaAppbmRleCBkMzM2M2Y5Li43ZTBmZWYxIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNp
bmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9ucHJ1bnRpbWUuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMv
TlBPYmplY3RQcm94eS5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmgK
aW5kZXggZTRjMDBjNS4uM2RjOTI0YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUE9iamVjdFByb3h5LmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFBy
b3h5LmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNp
bmNsdWRlIDxXZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvU2Fu
ZGJveEV4dGVuc2lvbi5oIGIvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCmluZGV4
IGY1ZmI1NzYuLjUxMTI2NTggMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRl
bnNpb24uaAorKysgYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgKQEAgLTI3LDcg
KzI3LDYgQEAKICNkZWZpbmUgU2FuZGJveEV4dGVuc2lvbl9oCiAKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9GaW5kSW5kaWNhdG9yV2luZG93LmggYi9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaAppbmRleCBlODg4OWI2Li4zZjVm
YWRhIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JX
aW5kb3cuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5k
b3cuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBGaW5kSW5kaWNhdG9yV2luZG93X2gKICNk
ZWZpbmUgRmluZEluZGljYXRvcldpbmRvd19oCiAKLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9SZWZQdHIuaD4KICNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc01hbmFnZXIuaAppbmRleCBjMjY1ZjJlMi4uMGRjN2E5YyAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCisrKyBi
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaApAQCAtMjks
NyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgUGx1Z2luUHJvY2Vzc1Byb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1By
b3h5OwogCi1jbGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdlciA6IE5vbmNvcHlhYmxlICB7CitjbGFz
cyBQbHVnaW5Qcm9jZXNzTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2lu
UHJvY2Vzc01hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzTWFuYWdl
ciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2lu
L1BsdWdpbkluZm9TdG9yZVdpbi5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9Q
bHVnaW5JbmZvU3RvcmVXaW4uY3BwCmluZGV4IGZlN2Q4OTYuLjllMTc0MmUgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKKysr
IGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcApA
QCAtMjU2LDcgKzI1Niw4IEBAIFZlY3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6cGx1Z2lu
c0RpcmVjdG9yaWVzKCkKICAgICByZXR1cm4gZGlyZWN0b3JpZXM7CiB9CiAKLWNsYXNzIFBhdGhX
YWxrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGF0aFdhbGtlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGF0aFdhbGtlcik7CiBwdWJsaWM6CiAgICAgUGF0aFdhbGtlcihj
b25zdCBTdHJpbmcmIGRpcmVjdG9yeSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJv
Y2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1Byb3ZpZGVyLmgKaW5kZXggMDE1NTE1Yy4uYTQyOGQ1YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9V
SVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1Zp
c2l0ZWRMaW5rUHJvdmlkZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9MaW5rSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFdlYkNvbnRleHQ7CiAgICAgCi1jbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVy
IDogTm9uY29weWFibGUgeworY2xhc3MgVmlzaXRlZExpbmtQcm92aWRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVmlzaXRlZExpbmtQcm92aWRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGlj
aXQgVmlzaXRlZExpbmtQcm92aWRlcihXZWJDb250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9E
b3dubG9hZHMvRG93bmxvYWQuaAppbmRleCAzN2ZhY2E4Li44YjAwMzMzIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKKysrIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRl
ICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNTUsNyArNTQsNiBAQCBjbGFzcyBXZWJQYWdlOwog
CiBjbGFzcyBEb3dubG9hZCA6IHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyPERvd25sb2Fk
PiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG93bmxvYWQpOwotCiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8RG93bmxvYWQ+IGNyZWF0ZSh1aW50NjRfdCBkb3dubG9hZElELCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB+RG93bmxvYWQoKTsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmggYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCmluZGV4IDAyNDVi
YjYuLjJiNGY4MDQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZE1hbmFnZXIuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBEb3dubG9hZE1hbmFnZXJfaAog
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCmluZGV4IDY3
MzdiZDQuLjFiNDMxNDUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QSlNPYmplY3QuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUEpTT2JqZWN0LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL1Byb3RlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGltZV9pbnRlcm5hbC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBKU0dsb2JhbE9iamVjdDsKQEAgLTQwLDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiBjbGFzcyBOUFJ1bnRpbWVPYmplY3RNYXA7CiAgICAgCiAvLyBOUEpTT2JqZWN0IGlzIGFuIE5Q
T2JqZWN0IHRoYXQgd3JhcHMgYSBKU09iamVjdC4KLWNsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMg
TlBPYmplY3QsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMgTlBPYmpl
Y3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5QSlNPYmplY3QpOwogcHVibGljOgogICAg
IHN0YXRpYyBOUEpTT2JqZWN0KiBjcmVhdGUoTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAs
IEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmggYi9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaAppbmRleCBk
N2JhODUzLi42OGE4MGQwIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaApAQCAtMjksNyArMjksNiBA
QAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiAvLyBNYW5hZ2VzIHBsdWctaW4gcHJvY2VzcyBjb25uZWN0aW9ucyBmb3IgdGhlIGdpdmVuIHdl
YiBwcm9jZXNzLgpAQCAtMzgsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgICAgIAotY2xhc3MgUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb25NYW5hZ2VyIDogTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb25NYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9GaW5kQ29udHJvbGxlci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmlu
ZENvbnRyb2xsZXIuaAppbmRleCAxNGJmYmIwLi40MzM5ODRhIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCisrKyBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJGaW5kT3B0aW9ucy5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5LmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViSW5zcGVjdG9yLmgKaW5kZXggNGEzYzAwNi4uYWU2YzcxOSAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1
ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZhNTZmNzku
LjU2M2ViNjEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yNCAgWm9sdGFuIEhvcnZh
dGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9j
QmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiBy
ZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hh
bmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8g
dGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5l
Y2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5n
SGVhZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0yMyAgRGlyayBQ
cmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255
IENoYW5nLgpAQCAtMTk0ODgsNyArMTk1MDAsNyBAQAogCiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0
IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8KgdG8gZmFpbCBvbiBUaWdl
ciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2Fw
ZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4K
IAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcDoK
ICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rl
di9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJs
ZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3Bw
Qm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91
bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAgLTQ1LDcgKzQ1LDYg
QEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAgdHlwZWRlZiBWZWN0b3I8
Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3VuZENsYXNzIGxldHMgeW91
IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkgYWNjZXNzZXMKIC8vIGRp
cmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQqIHZhcmlhYmxlIGFjY2Vz
cy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ3Bw
Qm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3BwQm91bmRDbGFzcyk7CiBw
dWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAgcHVibGljOgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2Vu
dC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2Vu
dC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNBZ2VudENsaWVudC5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBAIHN0cnVjdCBXZWJEZXZU
b29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsKIAotY2xhc3MgRFJU
RGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQKLSAg
ICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2
VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVibGljOgogICAgIERS
VERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0FnZW50KCkge30KZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xz
Q2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29s
c0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaApAQCAtMzQs
NyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3MuaCIKICNpbmNsdWRlICJU
YXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNzIERSVERl
dlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6
V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0
OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
UlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHNDbGllbnQoRFJURGV2
VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xz
Q2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2NzE0ODkuLjg1MDJh
OTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RO
YXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVi
bGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlz
IHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMgcG9zc2libGUuCi1j
bGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5hdmlnYXRpb25Db250
cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhl
bWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJU
aGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQu
aApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52
YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9Ta0NvbG9yLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEgZm9yd2FyZCBkZWNsYXJh
dGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGljOgogICAgIC8vIFRoaXMg
bGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNl
IHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaAppbmRl
eCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4LDkgKzQ4LDkgQEAKICNk
ZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2luL1dlYlRoZW1lRW5naW5l
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5l
RFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5l
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURSVCk7CiBwdWJsaWM6
CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9X
ZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9z
dFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRl
c3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZpbmUgSG9zdFdpbmRvd19o
CiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoKICAgICBIb3N0V2luZG93
KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdEFQ
SVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3Rz
Q29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvV2Vi
S2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVk
ZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0Rl
cXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRB
UElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGVzdHNDb250
cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9XZWJLaXRUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDExICsyNywxMCBAQAogI2Rl
ZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFz
cyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2Nh
dGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3QgY2hhciopOwogICAgIH5U
ZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74876</attachid>
            <date>2010-11-25 07:23:17 -0800</date>
            <delta_ts>2010-11-26 05:53:35 -0800</delta_ts>
            <desc>proposed patch (review candidate)</desc>
            <filename>csut5.patch</filename>
            <type>text/plain</type>
            <size>329035</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCA3OWZkZWRmLi4wNGVhOTRhIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjUgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yNCAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBDc2FiYSBPc3p0cm9nb27DoWMuCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxl
LmFtCmluZGV4IGY3ODA2YjQuLmQzNTQ5ZjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmFtCisrKyBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC00Njcs
NyArNDY3LDYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUv
d3RmL01ENS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmggXAogCUphdmFT
Y3JpcHRDb3JlL3d0Zi9Ob25Db3B5aW5nU29ydC5oIFwKLQlKYXZhU2NyaXB0Q29yZS93dGYvTm9u
Y29weWFibGUuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL05vdEZvdW5kLmggXAogCUphdmFTY3Jp
cHRDb3JlL3d0Zi9OdWxsUHRyLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5o
IFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkgYi9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCmluZGV4IGRlYjM2ZmIuLmFkOTk3NTAgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpAQCAtMzk4LDcgKzM5OCw2IEBACiAgICAgICAg
ICAgICAnd3RmL01hdGhFeHRyYXMuaCcsCiAgICAgICAgICAgICAnd3RmL01lc3NhZ2VRdWV1ZS5o
JywKICAgICAgICAgICAgICd3dGYvTm9uQ29weWluZ1NvcnQuaCcsCi0gICAgICAgICAgICAnd3Rm
L05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3VuZC5oJywKICAgICAgICAg
ICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCiAgICAgICAgICAgICAnd3RmL093bkZhc3RNYWxsb2NQ
dHIuaCcsCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ov
V1RGL1dURi52Y3Byb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RG
L1dURi52Y3Byb2oKaW5kZXggMzYwOTkzOS4uMTA4ZWJlZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCisrKyBiL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagpAQCAtNjU0LDEwICs2
NTQsNiBAQAogCQkJPg0KIAkJPC9GaWxlPg0KIAkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXHd0ZlxOb25jb3B5YWJsZS5oIg0KLQkJCT4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQogCQkJ
UmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcTm9uQ29weWluZ1NvcnQuaCINCiAJCQk+DQogCQk8L0Zp
bGU+DQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjQwZDc0ZS4uYmU3ZTNkZSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC00NDQsNyArNDQ0LDYgQEAKIAkJQkMxOEM0M0MwRTE2RjVDRDAwQjM0NDYwIC8qIE1hdGhP
YmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2
OTJBODZCMDI1NTU5N0QwMUZGNjBGNyAvKiBNYXRoT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0M0UwRTE2RjVDRDAwQjM0NDYw
IC8qIE1lc3NhZ2VRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTFFRTc5OEIwRDZDQTUzRDAwRkVBM0JBIC8qIE1lc3NhZ2VRdWV1ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNGMEUx
NkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjY5MkE4NkUwMjU1NTk3RDAxRkY2MEY3IC8qIE5vZGVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKLQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0
NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5MzAzRjU2OTA5OTExOTAwMDBBRDcxQjggLyogTm9uY29weWFibGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQ0MTBF
MTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjY4MEMzMEUxNkQ0RTkwMEEwNkU5MiAvKiBO
dW1iZXJDb25zdHJ1Y3Rvci5oICovOyB9OwogCQlCQzE4QzQ0MjBFMTZGNUNEMDBCMzQ0NjAgLyog
TnVtYmVyQ29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzI2ODBFNjBFMTZENTIzMDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0
b3IubHV0LmggKi87IH07CiAJCUJDMThDNDQzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJPYmpl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJB
ODcxMDI1NTU5N0QwMUZGNjBGNyAvKiBOdW1iZXJPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODc5LDcgKzg3OCw2IEBACiAJCTkwNUIw
MkFEMEUyODY0MEYwMDZERjg4MiAvKiBSZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTBEMzQ2OUIwRTI4NTI4MDAwOTQ5MkVFIC8q
IFJlZkNvdW50ZWRMZWFrQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZWZDb3VudGVkTGVha0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTMwM0Y1NjcwOTkxMThGQTAwQUQ3MUI4IC8qIE93blB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBPd25QdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTMw
M0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE5vbmNvcHlhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25BcnJheVB0ci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBPd25BcnJheVB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMzBGQjc5MjE5MDA0OEZEQzMgLyogUGFy
c2VyQXJlbmEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFyc2VyQXJlbmEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MjIsNyArMTUyMCw2IEBACiAJCQkJ
NTExRkM0Q0ExMTdFRTJBODAwNDI1MjcyIC8qIE1ENS5oICovLAogCQkJCUUxRUU3OThCMEQ2Q0E1
M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLywKIAkJCQk2NUUxQTJGNDEyMkI4ODBEMDBC
MjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCAqLywKLQkJCQk5MzAzRjU2OTA5OTExOTAwMDBBRDcx
QjggLyogTm9uY29weWFibGUuaCAqLywKIAkJCQlDMEEyNzIzRjBFNTA5RjFFMDBFOTZFMTUgLyog
Tm90Rm91bmQuaCAqLywKIAkJCQk5MzNGNUNEQjEyNjkyMjY5MDA0OTE5MUUgLyogTnVsbFB0ci5o
ICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25BcnJheVB0ci5oICovLApA
QCAtMjIxMSw3ICsyMjA4LDYgQEAKIAkJCQk3RUZGMDA2NDBFQzA1QTlBMDBBQTdDOTMgLyogTm9k
ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b2Rlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVFMUEzREYxMjJCODk0NTAwQjI2MDk3IC8qIE5v
bkNvcHlpbmdTb3J0LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQzE4QzQ0MDBFMTZGNUNEMDBCMzQ0
NjAgLyogTm9uY29weWFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMwQTI3MjYzMEU1MEEwNjMw
MEU5NkUxNSAvKiBOb3RGb3VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDEwRTE2RjVD
RDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4
QzQ0MjBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3Jv
QXNzZW1ibGVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2Vt
Ymxlci5oCmluZGV4IDFmYTVlYzcuLjQ0Mjc5NTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAj
aW5jbHVkZSAiQ29kZUxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJDb2RlUmVm
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBh
cmFtLmg+CiAKICNpZiBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmgKaW5kZXggZTFkY2EwYi4uNDkyNDk0MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TGlua0J1ZmZlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIERVTVBfQ09ERSAwCiAKICNp
bmNsdWRlIDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNTAsNyArNDksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIC8v
ICAgKiBUaGUgYWRkcmVzcyBvZiBhIExhYmVsIHBvaW50aW5nIGludG8gdGhlIGNvZGUgbWF5IGJl
IHJlc29sdmVkLgogLy8gICAqIFRoZSB2YWx1ZSByZWZlcmVuY2VkIGJ5IGEgRGF0YUxhYmVsIG1h
eSBiZSBzZXQuCiAvLwotY2xhc3MgTGlua0J1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBMaW5rQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMaW5rQnVmZmVyKTsK
ICAgICB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBDb2RlUmVmOwogICAgIHR5cGVkZWYg
TWFjcm9Bc3NlbWJsZXJDb2RlUHRyIENvZGVQdHI7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxl
cjo6TGFiZWwgTGFiZWw7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVw
YXRjaEJ1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaApp
bmRleCA3MmNmNmIyLi5lNWE2ZTJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvUmVwYXRjaEJ1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNo
QnVmZmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5j
bHVkZSA8TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggN2Vj
YTcyYS4uM2VhMDY1NiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAgLTI0Miw3
ICsyNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9CiAjZW5kaWYKIAotICAgIGNsYXNzIENv
ZGVCbG9jayA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBDb2RlQmxvY2sgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmllbmQgY2xhc3MgSklU
OwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG93
bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxTb3Vy
Y2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9sVGFibGUqIHN5bWJvbFRh
YmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc4LDcgKzU3OSwxMCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBTeW1ib2xUYWJsZSogbV9zeW1ib2xUYWJsZTsKIAotICAgICAgICBz
dHJ1Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0
cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAg
ICAgICBwdWJsaWM6CiAgICAgICAgICAgICBWZWN0b3I8SGFuZGxlckluZm8+IG1fZXhjZXB0aW9u
SGFuZGxlcnM7CiAKICAgICAgICAgICAgIC8vIFJhcmUgQ29uc3RhbnRzCkBAIC01OTksNiArNjAz
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBWZWN0b3I8Q2FsbFJldHVybk9mZnNl
dFRvQnl0ZWNvZGVPZmZzZXQ+IG1fY2FsbFJldHVybkluZGV4VmVjdG9yOwogI2VuZGlmCiAgICAg
ICAgIH07CisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRyPFJhcmVEYXRhPiBtX3JhcmVEYXRh
OwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0
aW9uLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCmluZGV4IGM2NDY4
YTUuLjk1Njc5M2YgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0
aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApAQCAtNTQs
NyArNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBTdHJ1Y3R1cmVDaGFpbjsKIAog
ICAgIC8vIFN0cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9pZF9zZWxmX2xpc3QgYW5kIG9wX2dl
dF9ieV9pZF9wcm90b19saXN0IGluc3RydWN0aW9uIHRvIGhvbGQgZGF0YSBvZmYgdGhlIG1haW4g
b3Bjb2RlIHN0cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0
IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJl
TGlzdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAg
ICAgICBzdHJ1Y3QgUG9seW1vcnBoaWNTdHViSW5mbyB7CiAgICAgICAgICAgICBib29sIGlzQ2hh
aW47CiAgICAgICAgICAgICBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3RTdHViUm91dGlu
ZVR5cGUgc3R1YlJvdXRpbmU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9T
YW1wbGluZ1Rvb2wuaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBsaW5nVG9vbC5oCmlu
ZGV4IDhlM2VkOWUuLjljYTU0ZGEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1NhbXBsaW5nVG9vbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBsaW5nVG9v
bC5oCkBAIC0xNDIsNyArMTQyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGZyaWVuZCBj
bGFzcyBIb3N0Q2FsbFJlY29yZDsKICAgICAgICAgCiAjaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElO
RykKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIENhbGxSZWNvcmQoU2Ft
cGxpbmdUb29sKiBzYW1wbGluZ1Rvb2wpCiAgICAgICAgICAgICAgICAgOiBtX3NhbXBsaW5nVG9v
bChzYW1wbGluZ1Rvb2wpCkBAIC0xNzIsNyArMTczLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH07CiAjZWxzZQotICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3JkKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wqKQogICAgICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgg
Yi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCBh
OTBmNzU2Li5mNDM1YzRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgIlN5bWJvbFRhYmxl
LmgiCiAjaW5jbHVkZSAiRGVidWdnZXIuaCIKICNpbmNsdWRlICJOb2Rlcy5oIgotI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNs
dWRlIDx3dGYvU2VnbWVudGVkVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAt
ODUsNyArODQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+
IHByb3BlcnR5UmVnaXN0ZXI7CiAgICAgfTsKIAotICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9y
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHR5
cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBl
ZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAppbmRleCAzNTMyYWQ4Li43OGQ0OWQy
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKQEAgLTMwLDEyICsz
MCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRy
YWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIFJlZ2lzdGVySUQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVySUQgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVy
SUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKaW5kZXggZGZiZTY1OC4uM2M4OGJhYyAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0NhY2hlZENhbGwuaApAQCAtMzIsNyArMzIsOCBAQAogI2luY2x1ZGUgIkludGVy
cHJldGVyLmgiCiAKIG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNzIENhY2hlZENhbGwgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENhY2hlZENhbGwgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDYWNoZWRDYWxsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIENhY2hlZENhbGwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTRnVuY3Rp
b24qIGZ1bmN0aW9uLCBpbnQgYXJnQ291bnQpCiAgICAgICAgICAgICA6IG1fdmFsaWQoZmFsc2Up
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oIGIv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRleCA0Nzc5MGNmLi5i
OTFmOGEzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKQEAgLTMw
LDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJfaAogCiAjaW5jbHVkZSAiQXJnTGlzdC5o
IgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlICJKU0NlbGwuaCIKICNpbmNs
dWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKQEAgLTY1LDcgKzY0LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4TGFyZ2VUaHJlYWRSZWVudHJ5RGVwdGgg
PSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRoID0gMzIgfTsKIAotICAgIGNsYXNzIElu
dGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEludGVycHJldGVy
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNz
IEpJVDsKICAgICAgICAgZnJpZW5kIGNsYXNzIENhY2hlZENhbGw7CiAgICAgcHVibGljOgpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKaW5kZXggMzhkMTY0Ny4uNGE2Y2U1OCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNp
bmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRl
IDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC00Nyw3ICs0Niw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
dHlwZWRlZiBFeGVjU3RhdGUgQ2FsbEZyYW1lOwogCi0gICAgY2xhc3MgUmVnaXN0ZXIgOiBwdWJs
aWMgV1RGOjpGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZWdpc3RlciB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcigpOwog
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaCBi
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oCmluZGV4IGQ5ZjZhMmIu
LjY4MjIwMzUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVy
RmlsZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oCkBA
IC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlICJXZWFrR0NQ
dHIuaCIKICNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYWdlUmVzZXJ2YXRpb24uaD4KICNpbmNsdWRlIDx3dGYvVk1UYWdzLmg+
CiAKQEAgLTg5LDcgKzg4LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBKU0dsb2Jh
bE9iamVjdDsKIAotICAgIGNsYXNzIFJlZ2lzdGVyRmlsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUmVnaXN0ZXJGaWxlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UmVnaXN0ZXJGaWxlKTsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGVudW0gQ2FsbEZyYW1lSGVhZGVyRW50cnkgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRl
eCA0ZDI1MTNkLi4xN2Y5ZjExIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExleGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKExleGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIC8vIENoYXJhY3RlciBtYW5pcHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAg
ICBzdGF0aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCmluZGV4IDY5MzBmNjMuLmYzYTNkNGQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2Rlcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xMTMs
NiArMTEzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIFBhcnNlckFy
ZW5hUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkPFBhcnNlckFyZW5hUmVmQ291bnRlZD4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgUGFyc2VyQXJlbmFSZWZDb3VudGVkKEpTR2xvYmFsRGF0YSopOwogCkBAIC0xMzc0LDcgKzEz
NzUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUGFyYW1ldGVyTm9kZSogbV9uZXh0Owog
ICAgIH07CiAKLSAgICBzdHJ1Y3QgU2NvcGVOb2RlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHN0cnVjdCBTY29wZU5vZGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
KyAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNr
IFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0
YWNrIEZ1bmN0aW9uU3RhY2s7CiAKQEAgLTE0NzAsNiArMTQ3Myw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIH07CiAKICAgICBjbGFzcyBGdW5jdGlvblBhcmFtZXRlcnMgOiBwdWJsaWMgVmVjdG9y
PElkZW50aWZpZXI+LCBwdWJsaWMgUmVmQ291bnRlZDxGdW5jdGlvblBhcmFtZXRlcnM+IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEZ1bmN0aW9uUGFyYW1ldGVycz4gY3JlYXRlKFBhcmFtZXRlck5vZGUqIGZp
cnN0UGFyYW1ldGVyKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRnVuY3Rpb25QYXJhbWV0ZXJzKGZp
cnN0UGFyYW1ldGVyKSk7IH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDY1NDkwNjcuLmNj
YTk2ZDggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRl
ICJQYXJzZXJBcmVuYS5oIgogI2luY2x1ZGUgIlNvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00NSw4ICs0NCwxMCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFy
c2VyQXJlbmFEYXRhIDogUGFyc2VyQXJlbmFEZWxldGFibGUgeyBUIGRhdGE7IH07CiAKLSAgICBj
bGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlciB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgorICAgICAgICBQYXJzZXIoKSB7IH0KICAgICAgICAgdGVtcGxhdGUg
PGNsYXNzIFBhcnNlZE5vZGU+CiAgICAgICAgIFBhc3NSZWZQdHI8UGFyc2VkTm9kZT4gcGFyc2Uo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIERlYnVnZ2VyKiwgRXhlY1N0YXRl
KiwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBGdW5jdGlvblBhcmFtZXRlcnMqLCBKU1BhcnNl
clN0cmljdG5lc3Mgc3RyaWN0bmVzcywgSlNPYmplY3QqKiBleGNlcHRpb24pOwogCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaCBiL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJBcmVuYS5oCmluZGV4IDdjMTgwOWUuLjdjYjU3NTAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJBcmVuYS5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgIGNsYXNzIFBhcnNlckFyZW5hRGVsZXRhYmxlOwogICAgIGNsYXNzIFBhcnNlckFyZW5hUmVm
Q291bnRlZDsKIAotICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBjb25zdCBJZGVu
dGlmaWVyJiBtYWtlSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBjb25zdCBVQ2hhciogY2hhcmFj
dGVycywgc2l6ZV90IGxlbmd0aCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIG1ha2VOdW1l
cmljSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBkb3VibGUgbnVtYmVyKTsKQEAgLTU5LDcgKzYw
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBtX2lkZW50aWZpZXJzLmxhc3Qo
KTsKICAgICB9CiAKLSAgICBjbGFzcyBQYXJzZXJBcmVuYSA6IE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBQYXJzZXJBcmVuYSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlckFy
ZW5hKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhcnNlckFyZW5hKCk7CiAgICAgICAgIH5QYXJz
ZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2V4ZWMuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCmluZGV4IGY0ODk5ZjIuLmRmMTll
NGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAgdGhlIEph
dmFTY3JpcHQgc3BlY2lmaWNhdGlvbi4gVGhlcmUgYXJlIGFsc28gc29tZSBzdXBwb3J0aW5nIGZ1
bmN0aW9ucy4gKi8KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDx3dGYvQVNDSUlDVHlw
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogI2lm
IFJFR0VYUF9ISVNUT0dSQU0KICNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KQEAgLTExMiw3ICsx
MTMsOSBAQCBzdHJ1Y3QgQnJhY2tldENoYWluTm9kZSB7CiAgICAgY29uc3QgVUNoYXIqIGJyYWNr
ZXRTdGFydDsKIH07CiAKLXN0cnVjdCBNYXRjaEZyYW1lIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgTWF0Y2hGcmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAg
ICBSZXR1cm5Mb2NhdGlvbiByZXR1cm5Mb2NhdGlvbjsKICAgICBzdHJ1Y3QgTWF0Y2hGcmFtZSog
cHJldmlvdXNGcmFtZTsKICAgICAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
L0NhbGxJZGVudGlmaWVyLmggYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmll
ci5oCmluZGV4IDc2YzE0NzAuLjI1MTg0ZDMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2Fs
bElkZW50aWZpZXIuaApAQCAtMjgsMTMgKzI4LDE0IEBACiAjZGVmaW5lIENhbGxJZGVudGlmaWVy
X2gKIAogI2luY2x1ZGUgPHJ1bnRpbWUvVVN0cmluZy5oPgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jh
c2UuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBDYWxsSWRlbnRp
ZmllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAg
VVN0cmluZyBtX25hbWU7CiAgICAgICAgIFVTdHJpbmcgbV91cmw7CiAgICAgICAgIHVuc2lnbmVk
IG1fbGluZU51bWJlcjsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyLmggYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCmluZGV4IGY5YzJjY2Iu
Ljc1MjU1ZTMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaApAQCAtNDQsNyArNDQsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBVU3RyaW5nOwogICAgIHN0cnVjdCBDYWxsSWRl
bnRpZmllcjsgICAgCiAKLSAgICBjbGFzcyBQcm9maWxlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBQcm9maWxlciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUHJvZmlsZXIqKiBlbmFibGVkUHJvZmlsZXJS
ZWZlcmVuY2UoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FyZ0xpc3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCmluZGV4IGNkNTYz
YTIuLjU3ZTNjMjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCkBAIC0yNSwxNCArMjUsMTQg
QEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5oIgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIE1hcmtTdGFj
azsKIAotICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE1hcmtlZEFyZ3VtZW50QnVmZmVyKTsKICAgICBwcml2YXRlOgogICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSA4OwogICAgICAgICB0eXBlZGVm
IFZlY3RvcjxSZWdpc3RlciwgaW5saW5lQ2FwYWNpdHk+IFZlY3RvclR5cGU7CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi45Mjk2MDA4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJndW1lbnRzLmgKQEAgLTMzLDcgKzMzLDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0g
ICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEFyZ3Vt
ZW50c0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcmd1bWVudHNEYXRhKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CisgICAgICAgIEFyZ3VtZW50c0Rh
dGEoKSB7IH0KICAgICAgICAgSlNBY3RpdmF0aW9uKiBhY3RpdmF0aW9uOwogCiAgICAgICAgIHVu
c2lnbmVkIG51bVBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jh
dGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIu
aApAQCAtMjcsMTIgKzI3LDEyIEBACiAjaWZuZGVmIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVy
X2gKICNkZWZpbmUgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKIAogbmFtZXNwYWNlIEpTQyB7
CiAKLSAgICBjbGFzcyBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcik7CiAgICAgcHVi
bGljOgogICAgICAgICBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcihKU09iamVjdCogb2JqZWN0
KQogICAgICAgICAgICAgOiBtX29iamVjdChvYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0
b3IuaAppbmRleCAyMzdjMTM5Li45M2VkZjA0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbGxlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9y
LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDx3dGYvRml4ZWRBcnJheS5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9QYWdlQWxsb2NhdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBA
IC04Nyw3ICs4Niw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAgICAgfTsKIAotICAg
IGNsYXNzIEhlYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhlYXAgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIZWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGNs
YXNzIFRocmVhZDsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5o
CmluZGV4IDFlMjJiNmEuLmYxN2UyNDQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgQ29tbW9uSWRlbnRpZmll
cnNfaAogCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAvLyBNYXJrZWRBcmd1bWVudEJ1ZmZlciBvZiBwcm9wZXJ0eSBuYW1lcywgcGFzc2Vk
IHRvIGEgbWFjcm8gc28gd2UgY2FuIGRvIHNldCB0aGVtIHVwIHZhcmlvdXMKIC8vIHdheXMgd2l0
aG91dCByZXBlYXRpbmcgdGhlIGxpc3QuCkBAIC04NCw3ICs4Myw4IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi0gICAgY2xhc3MgQ29tbW9uSWRlbnRpZmllcnMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ29tbW9uSWRlbnRpZmllcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHBy
aXZhdGU6CiAgICAgICAgIENvbW1vbklkZW50aWZpZXJzKEpTR2xvYmFsRGF0YSopOwogICAgICAg
ICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKaW5kZXgg
N2Q0OTI5ZC4uNzM2M2FmOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nl
bGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgIk1hcmtTdGFjay5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDcx
NDk5OWYuLjBjNWJiZWQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
QEAgLTQ2NSw3ICs0NjUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIG5ldyAo
ZXhlYykgSlNBcnJheShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJl
KCksIHZhbHVlcyk7CiAgICAgfQogCi0gICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3Bl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEeW5hbWljR2xvYmFsT2JqZWN0U2Nv
cGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEeW5hbWljR2xvYmFsT2JqZWN0U2Nv
cGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbE9iamVjdCogZHluYW1pY0dsb2JhbE9iamVjdCkgCiAg
ICAgICAgICAgICA6IG1fZHluYW1pY0dsb2JhbE9iamVjdFNsb3QoY2FsbEZyYW1lLT5nbG9iYWxE
YXRhKCkuZHluYW1pY0dsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCmluZGV4IDA1
YjM4OGMuLjY0ZDdhNGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2Nr
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaApAQCAtMjIsNyArMjIsNiBA
QAogI2RlZmluZSBKU0xvY2tfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTUzLDcgKzUy
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIEpTTG9ja0JlaGF2aW9yIHsgU2lsZW5j
ZUFzc2VydGlvbnNPbmx5LCBMb2NrRm9yUmVhbCB9OwogCi0gICAgY2xhc3MgSlNMb2NrIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBKU0xvY2sgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShKU0xvY2spOwogICAgIHB1YmxpYzoKICAgICAgICAgSlNMb2NrKEV4ZWNTdGF0
ZSopOwogICAgICAgICBKU0xvY2soSlNHbG9iYWxEYXRhKik7CkBAIC04OSw3ICs4OSw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTTG9ja0JlaGF2aW9yIG1fbG9ja0JlaGF2aW9yOwog
Ci0gICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIERyb3BBbGxMb2NrcyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEcm9wQWxsTG9ja3MpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBEcm9wQWxsTG9j
a3MoRXhlY1N0YXRlKiBleGVjKTsKICAgICAgICAgICAgIERyb3BBbGxMb2NrcyhKU0xvY2tCZWhh
dmlvcik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAppbmRleCBiNTQ3N2ExLi4w
YjcyMmIyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKQEAgLTcwLDcgKzcw
LDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIEpTVmFsdWUgbV92YWx1ZTsKIH07CiAKLWNsYXNz
IFN0cmluZ2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0cmluZ2lmaWVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdpZmllcik7CiBwdWJsaWM6CiAgICAgU3Ry
aW5naWZpZXIoRXhlY1N0YXRlKiwgSlNWYWx1ZSByZXBsYWNlciwgSlNWYWx1ZSBzcGFjZSk7CiAg
ICAgflN0cmluZ2lmaWVyKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAppbmRleCA5YmM4MWQ0Li5h
ZjE5MzhiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBHZXRGdW5j
dGlvbjsKICAgICB0eXBlZGVmIHZvaWQgKCpQdXRGdW5jdGlvbikoRXhlY1N0YXRlKiwgSlNPYmpl
Y3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgdmFsdWUpOwogCi0gICAgY2xhc3MgSGFzaEVudHJ5IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hFbnRyeSB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGluaXRpYWxp
emUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFyIGF0dHJpYnV0ZXMsIGludHB0cl90IHYx
LCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2su
aAppbmRleCBjNTUxYmFjLi4xMDE4ZTVlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgK
QEAgLTI3LDcgKzI3LDggQEAKICNkZWZpbmUgTWFya1N0YWNrX2gKIAogI2luY2x1ZGUgIkpTVmFs
dWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworI2luY2x1ZGUgPHN0cmluZy5o
PgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzYsNyArMzcsOCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAKICAgICBlbnVtIE1hcmtTZXRQcm9wZXJ0aWVzIHsgTWF5Q29udGFpbk51bGxWYWx1ZXMs
IE5vTnVsbFZhbHVlcyB9OwogICAgIAotICAgIGNsYXNzIE1hcmtTdGFjayA6IE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBNYXJrU3RhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShN
YXJrU3RhY2spOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFya1N0YWNrKHZvaWQqIGpzQXJyYXlW
UHRyKQogICAgICAgICAgICAgOiBtX2pzQXJyYXlWUHRyKGpzQXJyYXlWUHRyKQpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IDU4YWJkZTUuLmQ1NmFiN2Qg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKQEAgLTMxLDcg
KzMxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUmVnRXhwUHJvdG90eXBlOwogICAg
IHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGU7CiAKLSAgICBzdHJ1Y3QgUmVnRXhwQ29u
c3RydWN0b3JQcml2YXRlIDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFJlZ0V4cENvbnN0
cnVjdG9yUHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICAvLyBHbG9iYWwgc2VhcmNoIGNhY2hlIC8gc2V0dGluZ3MKICAgICAgICAg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKCkKICAgICAgICAgICAgIDogbGFzdE51bVN1YlBhdHRl
cm5zKDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAppbmRleCAxOWRlOTI5Li45
MWZjZjJhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTYwLDcgKzYw
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdmlydHVhbCBDYWxsVHlwZSBnZXRDYWxs
RGF0YShDYWxsRGF0YSYpOwogCi0gICAgICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIDogRmFz
dEFsbG9jQmFzZSB7CisgICAgICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIHsKKyAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgUmVnRXhwT2JqZWN0RGF0YShOb25OdWxsUGFzc1JlZlB0cjxS
ZWdFeHA+IHJlZ0V4cCwgZG91YmxlIGxhc3RJbmRleCkKICAgICAgICAgICAgICAgICA6IHJlZ0V4
cChyZWdFeHApCiAgICAgICAgICAgICAgICAgLCBsYXN0SW5kZXgobGFzdEluZGV4KQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmggYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAwYjE1YjY3Li42OTIzOWE5IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtMjEsOCArMjEsNiBAQAogI2lmbmRlZiBTY29wZUNo
YWluX2gKICNkZWZpbmUgU2NvcGVDaGFpbl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgi
Ci0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxEYXRhOwpAQCAtMzEsNyAr
MjksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3Mg
U2NvcGVDaGFpbkl0ZXJhdG9yOwogICAgIAotICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNjb3BlQ2hhaW5O
b2RlKFNjb3BlQ2hhaW5Ob2RlKiBuZXh0LCBKU09iamVjdCogb2JqZWN0LCBKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBnbG9i
YWxUaGlzKQogICAgICAgICAgICAgOiBuZXh0KG5leHQpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKaW5kZXggZjM1ODcyNy4uYzMzNWRjMiAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNH
bG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewpAQCAtNDAsNyArMzksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNNYXJrZWQoSlNTdHJpbmcq
IHN0cmluZykKICAgICByZXR1cm4gc3RyaW5nICYmIEhlYXA6OmlzQ2VsbE1hcmtlZChzdHJpbmcp
OwogfQogCi1jbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5nc1N0b3JhZ2UpOwogcHVibGljOgogICAgIFNtYWxsU3RyaW5nc1N0b3JhZ2UoKTsK
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaCBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKaW5kZXggZDFlYmZiMTMuLmI0NzJj
ZjcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaApAQCAtMzcsNyArMzcsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU21hbGxT
dHJpbmdzU3RvcmFnZTsKIAotICAgIGNsYXNzIFNtYWxsU3RyaW5ncyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU21hbGxTdHJpbmdzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU21hbGxTdHJpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIFNtYWxsU3RyaW5ncygpOwogICAgICAgICB+U21hbGxTdHJpbmdzKCk7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2ZC4uMWFmMmQ2MyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJvbFRh
YmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJbXBs
PiA+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBjbGFz
cyBTaGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNvdW50
ZWQ8U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZFN5bWJvbFRhYmxl
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVkU3ltYm9sVGFibGUpOyB9CiAg
ICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFw
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCmluZGV4IDM5YTkxYzUuLjMw
YmVmYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaApAQCAtMzUsNyArMzUsOCBAQCBj
bGFzcyBKU0NlbGw7CiAKIC8vIEEgSGFzaE1hcCB3aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5z
IGVtcHR5VmFsdWUoKSBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPgotY2xhc3MgV2Vha0dDTWFwIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgV2Vha0dDTWFwIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIC8qCiAgICAgSW52YXJpYW50czoKICAgICAgICAgKiBBIHZhbHVl
IGVudGVycyB0aGUgV2Vha0dDTWFwIG1hcmtlZC4gKEd1YXJhbnRlZWQgYnkgc2V0KCkuKQpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaCBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKaW5kZXggYWM3N2NmMy4uNjdmMTFjMyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtHQ1B0ci5oCkBAIC0yOCwxMiArMjgsMTIgQEAKIAogI2luY2x1ZGUgIkNv
bGxlY3Rvci5oIgogI2luY2x1ZGUgIkdDSGFuZGxlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAvLyBBIHNtYXJ0IHBvaW50ZXIgd2hvc2UgZ2V0
KCkgZnVuY3Rpb24gcmV0dXJucyAwIGZvciBjZWxscyBhd2FpdGluZyBkZXN0cnVjdGlvbi4KLXRl
bXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgOiBOb25jb3B5YWJsZSB7Cit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXZWFrR0NQdHIpOwogcHVibGljOgogICAgIFdlYWtHQ1B0cigpCiAgICAgICAgIDogbV9w
dHIoMCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50
ZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaAppbmRleCAw
YzBlOTk3Li44YjY1OTc3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJl
YWRSZWZDb3VudGVkLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8vIHdpdGggcmVz
cGVjdCB0byB0aGUgb3JpZ2luYWwgYW5kIGFueSBvdGhlciBjb3BpZXMuICBUaGUgdW5kZXJseWlu
ZyBtX2RhdGEgaXMgam9pbnRseQogICAgIC8vIG93bmVkIGJ5IHRoZSBvcmlnaW5hbCBpbnN0YW5j
ZSBhbmQgYWxsIGNvcGllcy4KICAgICB0ZW1wbGF0ZTxjbGFzcyBUPgotICAgIGNsYXNzIENyb3Nz
VGhyZWFkUmVmQ291bnRlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NU
aHJlYWRSZWZDb3VudGVkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJl
YWRSZWZDb3VudGVkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENy
b3NzVGhyZWFkUmVmQ291bnRlZDxUPiA+IGNyZWF0ZShUKiBkYXRhKQogICAgICAgICB7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9EYXRlTWF0aC5oCmluZGV4IGJlNTE5NDcuLjQxMjNlYmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9EYXRlTWF0aC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5o
CkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAg
LTEwOSw3ICsxMDgsOSBAQCBkb3VibGUgcGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVkQ2hhcmFj
dGVycyhFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQogCiAvLyBJbnRlbnRpb25h
bGx5IG92ZXJyaWRkaW5nIHRoZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0uCiAvLyBUaGUgbWVt
YmVycyBvZiB0bSBkaWZmZXIgb24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVtcy4KLXN0cnVjdCBH
cmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBHcmVnb3JpYW5EYXRlVGlt
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JlZ29yaWFuRGF0ZVRpbWUpOworcHVibGlj
OgogICAgIEdyZWdvcmlhbkRhdGVUaW1lKCkKICAgICAgICAgOiBzZWNvbmQoMCkKICAgICAgICAg
LCBtaW51dGUoMCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKaW5kZXggNzQ1ZTBiNi4uZWViNWU0MyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Rl
cXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yPFQ+IGl0ZXJhdG9yOwogICAgICAg
ICB0eXBlZGVmIERlcXVlQ29uc3RJdGVyYXRvcjxUPiBjb25zdF9pdGVyYXRvcjsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93
dGYvRmFzdEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUuLmI2YTUzNDYgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0Zhc3RBbGxvY0Jhc2UuaApAQCAtMzIsOCArMzIsOCBAQAogLy8gUHJvdmlkZXMgY3VzdG9taXph
YmxlIG92ZXJyaWRlcyBvZiBmYXN0TWFsbG9jL2Zhc3RGcmVlIGFuZCBvcGVyYXRvciBuZXcvZGVs
ZXRlCiAvLwogLy8gUHJvdmlkZWQgZnVuY3Rpb25hbGl0eToKKy8vICAgIE1hY3JvOiBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogLy8gICAgbmFtZXNwYWNlIFdURiB7Ci0vLyAgICAgICAgY2xhc3Mg
RmFzdEFsbG9jQmFzZTsKIC8vCiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxUPigpOwogLy8gICAg
ICAgIFQqICAgIGZhc3ROZXc8VD4oYXJnKTsKQEAgLTQ4LDcgKzQ4LDEwIEBACiAvLyBGYXN0RGVs
ZXRlIGFzc3VtZXMgdGhhdCB0aGUgdW5kZXJseWluZwogLy8KIC8vIEV4YW1wbGUgdXNhZ2U6Ci0v
LyAgICBjbGFzcyBXaWRnZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7IC4uLiB9OworLy8gICAg
Y2xhc3MgV2lkZ2V0IHsKKy8vICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorLy8gICAg
Li4uCisvLyAgICB9OwogLy8KIC8vICAgIGNoYXIqIGNoYXJQdHIgPSBmYXN0TmV3PGNoYXI+KCk7
CiAvLyAgICBmYXN0RGVsZXRlKGNoYXJQdHIpOwpAQCAtODUsNDIgKzg4LDYgQEAKIAogbmFtZXNw
YWNlIFdURiB7CiAKLSNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAotcHVibGljOiBc
Ci0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBc
Ci0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9
IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBcCi0gICAgeyBc
Ci0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCi0gICAgICAgIHJldHVybiBwOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFs
bG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKLSAgICB9
IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUpIFwKLSAgICB7
IFwKLSAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCi0gICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6
OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0gICAgICAgIHJldHVybiBwOyBcCi0gICAgfSBc
Ci0gICAgXAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAotICAgIHsgXAot
ICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0gICAgICAgICA6OldURjo6ZmFzdEZy
ZWUocCk7IFwKLSAgICB9IFwKLXByaXZhdGU6Ci0KLWNsYXNzIEZhc3RBbGxvY0Jhc2UgewotICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEICAKLX07Ci0KICAgICAvLyBmYXN0TmV3IC8gZmFzdERl
bGV0ZQogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CkBAIC00MTAsNyArMzc3LDYgQEAgY2xh
c3MgRmFzdEFsbG9jQmFzZSB7CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi11c2luZyBXVEY6OkZh
c3RBbGxvY0Jhc2U7CiB1c2luZyBXVEY6OmZhc3REZWxldGVTa2lwcGluZ0Rlc3RydWN0b3I7CiAK
ICNlbmRpZiAvLyBGYXN0QWxsb2NCYXNlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoQ291bnRlZFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgK
aW5kZXggNGVkNzVjNS4uN2FiMjllNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0hh
c2hDb3VudGVkU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgK
QEAgLTIyLDE0ICsyMiwxNCBAQAogI2RlZmluZSBXVEZfSGFzaENvdW50ZWRTZXRfaAogCiAjaW5j
bHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRl
ICJIYXNoTWFwLmgiCiAjaW5jbHVkZSAiVmVjdG9yLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMgPSB0eXBl
bmFtZSBEZWZhdWx0SGFzaDxWYWx1ZT46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9
IEhhc2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50ZWRTZXQgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CisgICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9IEhhc2hUcmFpdHM8VmFsdWU+ID4g
Y2xhc3MgSGFzaENvdW50ZWRTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxWYWx1ZSwgdW5zaWduZWQsIEhh
c2hGdW5jdGlvbnMsIFRyYWl0cz4gSW1wbFR5cGU7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKaW5kZXggMDkwOTRkMS4uNDk1YjcyYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCkBAIC0yOSw3ICsy
OSw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0
eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFz
aDxLZXlBcmc+OjpIYXNoLAogICAgICAgICB0eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJh
aXRzPEtleUFyZz4sIHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVk
QXJnPiA+Ci0gICAgY2xhc3MgSGFzaE1hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBj
bGFzcyBIYXNoTWFwIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAgICAgICAgIHR5
cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoU2V0LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCmluZGV4
IDY2NjM5ZTQuLmJlYWU0ZmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApAQCAtMzUsNyArMzUsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSWRlbnRpdHlF
eHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlwZW5hbWUgSGFz
aEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaCwKLSAgICAgICAgdHlw
ZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHNBcmcgPSBIYXNo
VHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaEFyZyBIYXNoRnVu
Y3Rpb25zOwogICAgICAgICB0eXBlZGVmIFRyYWl0c0FyZyBWYWx1ZVRyYWl0czsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0YWM0NS4uYWY3MzVhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RI
YXNoU2V0LmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4gc3RydWN0IExpc3RIYXNo
U2V0Tm9kZUFsbG9jYXRvcjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBIYXNoQXJnPiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2Rl
SGFzaEZ1bmN0aW9uczsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3Qg
aW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0
SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1
ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZTxW
YWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGU7CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hT
ZXROb2RlQWxsb2NhdG9yPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZUFsbG9jYXRvcjsK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Mb2NrZXIuaAppbmRleCA0MTgxM2QzLi43ZGRjMTRkIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvTG9ja2VyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCkBA
IC0yOCwxMSArMjgsMTEgQEAKICNpZm5kZWYgTG9ja2VyX2gKICNkZWZpbmUgTG9ja2VyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMb2NrZXIpOwogcHVibGljOgogICAgIExvY2tlcihUJiBsb2NrYWJsZSkgOiBtX2xvY2thYmxl
KGxvY2thYmxlKSB7IG1fbG9ja2FibGUubG9jaygpOyB9CiAgICAgfkxvY2tlcigpIHsgbV9sb2Nr
YWJsZS51bmxvY2soKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCmluZGV4IDNjYWE4MTAuLjVmZTUwYjUgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1
LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgV1RGX01ENV9oCiAKICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvTWVzc2FnZVF1ZXVlLmgKaW5kZXggMTQxMDBjOS4uZDdkNTcxMiAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9NZXNzYWdlUXVldWUuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgPGxpbWl0cz4KICNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFt
ZXNwYWNlIFdURiB7CkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8vIHdo
ZW4gbWVzc2FnZXMgYXJlIGZldGNoZWQgZnJvbSB0aGUgcXVldWUuCiAgICAgLy8gRXNzZW50aWFs
bHksIE1lc3NhZ2VRdWV1ZSBhY3RzIGFzIGEgcXVldWUgb2YgT3duUHRyPERhdGFUeXBlPi4KICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VRdWV1ZSk7CiAgICAgcHVibGljOgogICAgICAgICBN
ZXNzYWdlUXVldWUoKSA6IG1fa2lsbGVkKGZhbHNlKSB7IH0KICAgICAgICAgfk1lc3NhZ2VRdWV1
ZSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjg1ZWQyZS4uMDAwMDAwMAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUu
aAorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChDKSAy
MDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
ICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
ICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0K
LSNpZm5kZWYgV1RGX05vbmNvcHlhYmxlX2gKLSNkZWZpbmUgV1RGX05vbmNvcHlhYmxlX2gKLQot
I2lmbmRlZiBfX2hhc19mZWF0dXJlCi0gICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKLSNl
bmRpZgotCi0jaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCi0gICAgI2Rl
ZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKLSAgICAgICAgX1ByYWdtYSgi
Y2xhbmcgZGlhZ25vc3RpYyBwdXNoIikgXAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9z
dGljIGlnbm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAotICAgICAgICBfUHJhZ21hKCJj
bGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKLSAgICAg
ICAgcHJpdmF0ZTogXAotICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0g
ZGVsZXRlOyBcCi0gICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05h
bWUmKSA9IGRlbGV0ZTsgXAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIp
Ci0jZWxzZQotICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0g
ICAgICAgIHByaXZhdGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUm
KTsgXAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikK
LSNlbmRpZgotCi0vLyBXZSBkb24ndCB3YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8g
cHVsbCBpbiBldmVyeXRoaW5nIGZyb20gdGhlIFdURgotLy8gbmFtZXNwYWNlIHdoZW4geW91IHVz
ZSBOb25jb3B5YWJsZSwgc28gcHV0IGl0IGluIGl0cyBvd24gbmFtZXNwYWNlLgotCi0jaW5jbHVk
ZSAiRmFzdEFsbG9jQmFzZS5oIgotCi1uYW1lc3BhY2UgV1RGTm9uY29weWFibGUgewotCi0gICAg
Y2xhc3MgTm9uY29weWFibGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Ci0gICAgICAgIE5vbmNv
cHlhYmxlKGNvbnN0IE5vbmNvcHlhYmxlJik7Ci0gICAgICAgIE5vbmNvcHlhYmxlJiBvcGVyYXRv
cj0oY29uc3QgTm9uY29weWFibGUmKTsKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIE5vbmNvcHlh
YmxlKCkgeyB9Ci0gICAgICAgIH5Ob25jb3B5YWJsZSgpIHsgfQotICAgIH07Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdURk5vbmNvcHlhYmxlCi0KLXVzaW5nIFdURk5vbmNvcHlhYmxlOjpOb25jb3B5YWJs
ZTsKLQotI2VuZGlmIC8vIFdURl9Ob25jb3B5YWJsZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvT3duQXJyYXlQdHIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5o
CmluZGV4IDY0M2I5MGIuLmNkNjRlZGEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9P
d25BcnJheVB0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCkBAIC0y
Miw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9Pd25BcnJheVB0cl9oCiAKICNpbmNsdWRlICJBc3Nl
cnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgi
CiAjaW5jbHVkZSAiT3duQXJyYXlQdHJDb21tb24uaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CkBA
IC0zNSw3ICszNCw3IEBAIG5hbWVzcGFjZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xh
c3MgUGFzc093bkFycmF5UHRyOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRy
PFQ+IGFkb3B0QXJyYXlQdHIoVCopOwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3du
QXJyYXlQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNs
YXNzIE93bkFycmF5UHRyIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFQqIFB0clR5cGU7CiAKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCmluZGV4IDhiNmNiZjQuLjlkNDg0MWEgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAj
ZGVmaW5lIE93bkZhc3RNYWxsb2NQdHJfaAogCiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgotI2lu
Y2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgdGVtcGxhdGU8
Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1hbGxvY1B0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1hbGxvY1B0ciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE93bkZhc3RNYWxsb2NQdHIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgZXhwbGljaXQgT3duRmFzdE1hbGxvY1B0cihUKiBwdHIpIDogbV9wdHIocHRyKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmggYi9KYXZhU2NyaXB0
Q29yZS93dGYvT3duUHRyLmgKaW5kZXggY2RjMjc3Yy4uZmI1OTQzMiAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL093blB0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIu
aApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBXVEZfT3duUHRyX2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIu
aCIKICNpbmNsdWRlICJPd25QdHJDb21tb24uaCIKICNpbmNsdWRlICJUeXBlVHJhaXRzLmgiCkBA
IC0zOSw3ICszOCw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIFBhc3NPd25QdHI7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093blB0cjxU
PiBhZG9wdFB0cihUKik7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93
blB0ciB7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFJlbW92ZVBvaW50
ZXI8VD46OlR5cGUgVmFsdWVUeXBlOwogICAgICAgICB0eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlw
ZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggMTJjM2UzZC4uMTY5ZDQwNyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKQEAgLTIsNiArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIw
MDgsIDIwMDkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTExMTgsNCArMTExOSw2MCBAQAogI2luY2x1ZGUgIkdUeXBlZGVmcy5oIgog
I2VuZGlmCiAKKy8qIE5vbmNvcHlhYmxlJ3MgaW1wbGVtZW50YXRpb24gYXMgYSBtYWNybyAqLwor
CisjaWZuZGVmIF9faGFzX2ZlYXR1cmUKKyAgICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAor
I2VuZGlmCisKKyNpZiBfX2hhc19mZWF0dXJlKGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKKyAgICAj
ZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAorICAgICAgICBfUHJhZ21h
KCJjbGFuZyBkaWFnbm9zdGljIHB1c2giKSBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCBcIi1XdW5rbm93bi1wcmFnbWFzXCIiKSBcCisgICAgICAgIF9QcmFnbWEo
ImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAorICAg
ICAgICBwcml2YXRlOiBcCisgICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikg
PSBkZWxldGU7IFwKKyAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNz
TmFtZSYpID0gZGVsZXRlOyBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9w
IikKKyNlbHNlCisgICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwK
KyAgICAgICAgcHJpdmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFt
ZSYpOyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUm
KQorI2VuZGlmCisKKy8qIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2Ygb3BlcmF0
b3IgbmV3L2RlbGV0ZSAqLworCisjZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKK3B1
YmxpYzogXAorICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJu
IHA7IH0gXAorICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCisgICAgXAorICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAor
ICAgIHsgXAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAg
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICByZXR1cm4gcDsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVy
bmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
CisgICAgfSBcCisgICAgXAorICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBc
CisgICAgeyBcCisgICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAor
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6Oklu
dGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAorICAgICAgICByZXR1cm4gcDsgXAor
ICAgIH0gXAorICAgIFwKKyAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKKyAg
ICB7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpX
VEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAorICAgICAgICAgOjpXVEY6
OmZhc3RGcmVlKHApOyBcCisgICAgfSBcCitwcml2YXRlOgorCiAjZW5kaWYgLyogV1RGX1BsYXRm
b3JtX2ggKi8KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCmluZGV4IDhkOGIzMDIuLmE1NGQxYmYgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaApAQCAtMjIsNyArMjIsNyBAQAogI2RlZmluZSBSZWZDb3Vu
dGVkX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5o
IgorI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTEz
MSw3ICsxMzEsOCBAQCBpbmxpbmUgdm9pZCBhZG9wdGVkKFJlZkNvdW50ZWRCYXNlKiBvYmplY3Qp
CiAKICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVi
bGljIFJlZkNvdW50ZWRCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVmQ291bnRlZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgdm9pZCBkZXJlZigpCiAgICAgewpAQCAtMTQwLDYgKzE0MSw3IEBAIHB1Ymxp
YzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICBSZWZDb3VudGVkKCkgeyB9CiAgICAgflJlZkNv
dW50ZWQoKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKaW5kZXggNmFmYTg4Ni4uYzIxZDRm
NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMjMsOSArMjMsOSBAQAogI2lmbmRlZiBXVEZfUmVmUHRy
X2gKICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVk
ZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKKyNpbmNsdWRlIDxh
bGdvcml0aG0+CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdU
RiB7CiAKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICBlbnVtIEhhc2hU
YWJsZURlbGV0ZWRWYWx1ZVR5cGUgeyBIYXNoVGFibGVEZWxldGVkVmFsdWUgfTsKIAotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQ
dHIoKSA6IG1fcHRyKDApIHsgfQogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIp
IDogbV9wdHIocHRyKSB7IHJlZklmTm90TnVsbChwdHIpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhh
c2hNYXAuaAppbmRleCA3ZjZlYmZlLi4yMjUxZmQ4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS93dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNo
TWFwLmgKQEAgLTQyLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywg
dHlwZW5hbWUgS2V5VHJhaXRzQXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmc+Ci0gICAgY2xh
c3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBN
YXBwZWRUcmFpdHNBcmc+IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToK
ICAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVm
IE1hcHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFk
cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRz
LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJl
YWRzX2gKICNkZWZpbmUgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVz
cGFjZSBXVEYgewogCiAvLyBIb2xkcyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3Bl
Y2lmaWMgc3RvcmFnZSBhbmQgZW1wbG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1
Y3Rpb24gdG8gcmVsaWFibHkgcmVtb3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFk
TWFwLiBJdCBhc3N1bWVzIHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11
bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rpb24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5U
aHJlYWRJZGVudGlmaWVyRGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU2FmZVNoYXJlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQu
aAppbmRleCAzM2M2NjEyLi4xMzEyOTAwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU2FmZVNoYXJlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hh
cmVkLmgKQEAgLTYyLDEyICs2MiwxMiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNs
dWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFz
cyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJl
YWRTYWZlU2hhcmVkQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU2FmZVNo
YXJlZEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRocmVhZFNh
ZmVTaGFyZWRCYXNlKGludCBpbml0aWFsUmVmQ291bnQgPSAxKQogICAgICAgICA6IG1fcmVmQ291
bnQoaW5pdGlhbFJlZkNvdW50KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVh
ZFNwZWNpZmljLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaAppbmRleCA5
M2VkNDY2Li4xMTM3YmQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3Bl
Y2lmaWMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApAQCAtNDEs
NyArNDEsNiBAQAogI2lmbmRlZiBXVEZfVGhyZWFkU3BlY2lmaWNfaAogI2RlZmluZSBXVEZfVGhy
ZWFkU3BlY2lmaWNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0Uo
UFRIUkVBRFMpCiAjaW5jbHVkZSA8cHRocmVhZC5oPgpAQCAtNjEsNyArNjAsOCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKIHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAotdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29weWFi
bGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJlYWRT
cGVjaWZpYygpOwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg0LDkgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRIUkVB
RFMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0gICAg
c3RydWN0IERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEoVCog
dmFsdWUsIFRocmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVyKG93
bmVyKSB7fQogI2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRlc3Ry
b3kodGhpcyk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Y1dpbi5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCmluZGV4
IGYyYzBjYWQuLmQ3Mjk5NmEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRT
cGVjaWZpY1dpbi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2lu
LmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAi
VGhyZWFkU3BlY2lmaWMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFVT
RShQVEhSRUFEUykKICNlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBieSBw
b3J0cyB0aGF0IGRvIG5vdCB1c2UgV2luZG93cyBuYXRpdmUgVGhyZWFkU3BlY2lmaWMgaW1wbGVt
ZW50YXRpb24uCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLjcyYWU1ZTUg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC0zMCw3ICszMCw5IEBACiAKIG5hbWVzcGFj
ZSBXVEYgewogCi1zdHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2Ugeworc3Ry
dWN0IE5ld1RocmVhZENvbnRleHQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJs
aWM6CiAgICAgTmV3VGhyZWFkQ29udGV4dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lk
KiBkYXRhLCBjb25zdCBjaGFyKiBuYW1lKQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQb2lu
dCkKICAgICAgICAgLCBkYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkaW5nLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKaW5kZXggMDQ0MzY1
Zi4uZGFlYTE4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaApAQCAtNjYsNyArNjYsNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9BdG9taWNzLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2tlci5oPgogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZFNhZmVTaGFyZWQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0
aXZlcy5oPgogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0
aXZlcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaAppbmRleCBj
MTFhNmNiLi4yY2Q1NzU0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
UHJpbWl0aXZlcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVz
LmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5j
bHVkZSA8d3RmL0xvY2tlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYg
T1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+CkBAIC05Niw3ICs5NSw4IEBAIHR5cGVk
ZWYgdm9pZCogUGxhdGZvcm1SZWFkV3JpdGVMb2NrOwogdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybUNv
bmRpdGlvbjsKICNlbmRpZgogICAgIAotY2xhc3MgTXV0ZXggOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTXV0ZXggeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE11dGV4KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpA
QCAtMTEzLDcgKzExMyw4IEBAIHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRl
eExvY2tlcjsKIAotY2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBSZWFkV3JpdGVMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVM
b2NrKTsKIHB1YmxpYzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2so
KTsKQEAgLTEzMCw3ICsxMzEsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9j
ayBtX3JlYWRXcml0ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUaHJlYWRDb25kaXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigp
OwogICAgIH5UaHJlYWRDb25kaXRpb24oKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9WZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaAppbmRleCBmNzM3OTNmLi5h
YmM5NjAzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCkBAIC0yMSw4ICsyMSw3IEBACiAjaWZuZGVmIFdURl9W
ZWN0b3JfaAogI2RlZmluZSBXVEZfVmVjdG9yX2gKIAotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2Uu
aCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgorI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKICNp
bmNsdWRlICJOb3RGb3VuZC5oIgogI2luY2x1ZGUgIlN0ZExpYkV4dHJhcy5oIgogI2luY2x1ZGUg
IlZhbHVlQ2hlY2suaCIKQEAgLTI3Nyw3ICsyNzYsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVjdG9yQnVmZmVyQmFzZSk7CiAgICAgcHVibGlj
OgogICAgICAgICB2b2lkIGFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICAg
ICAgewpAQCAtNDg4LDcgKzQ4OCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAwPgotICAgIGNsYXNz
IFZlY3RvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBWZWN0b3IgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVk
ZWYgVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCdWZmZXI7CiAgICAgICAgIHR5cGVk
ZWYgVmVjdG9yVHlwZU9wZXJhdGlvbnM8VD4gVHlwZU9wZXJhdGlvbnM7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1dU
RlRocmVhZERhdGEuaAppbmRleCA1MDE5YzMzLi4yZmFjMzM4IDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZU
aHJlYWREYXRhLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIC8vIFRoaXMgd2FzIEVOQUJMRShX
T1JLRVJTKSBpbiBXZWJDb3JlLCBidXQgdGhpcyBpcyBub3QgZGVmaW5lZCB3aGVuIGNvbXBpbGlu
ZyBKU0MuCkBAIC01MSw3ICs1MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiB0eXBlZGVmIEhhc2hN
YXA8Y29uc3QgY2hhciosIFJlZlB0cjxTdHJpbmdJbXBsPiwgUHRySGFzaDxjb25zdCBjaGFyKj4g
PiBMaXRlcmFsSWRlbnRpZmllclRhYmxlOwogCi1jbGFzcyBJZGVudGlmaWVyVGFibGUgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBJZGVudGlmaWVyVGFibGUgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgfklkZW50aWZpZXJUYWJsZSgpOwogCkBAIC04
NCw3ICs4NCw4IEBAIGNsYXNzIEF0b21pY1N0cmluZ1RhYmxlOwogCiB0eXBlZGVmIHZvaWQgKCpB
dG9taWNTdHJpbmdUYWJsZURlc3RydWN0b3IpKEF0b21pY1N0cmluZ1RhYmxlKik7CiAKLWNsYXNz
IFdURlRocmVhZERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV1RGVGhyZWFkRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV1RGVGhyZWFkRGF0YSk7CiBwdWJsaWM6CiAg
ICAgV1RGVGhyZWFkRGF0YSgpOwogICAgIH5XVEZUaHJlYWREYXRhKCk7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAK
aW5kZXggYzg5YzAzNi4uNWU3ODUwZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2R0
b2EuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcApAQCAtNDE0LDcgKzQxNCwx
MCBAQCBzdGF0aWMgdm9pZCBtdWx0KEJpZ0ludCYgYVJlZiwgY29uc3QgQmlnSW50JiBiUmVmKQog
ICAgIGFSZWYgPSBjOwogfQogCi1zdHJ1Y3QgUDVOb2RlIDogTm9uY29weWFibGUgeworc3RydWN0
IFA1Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUDVOb2RlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBQNU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwog
ICAgIFA1Tm9kZSogbmV4dDsKIH07CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZ29i
amVjdC9HT3duUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKaW5k
ZXggY2VjM2U0My4uYTM3ZDk4ZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmpl
Y3QvR093blB0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaApA
QCAtMjYsNyArMjYsNiBAQAogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGV4dGVybiAiQyIg
dm9pZCBnX2ZyZWUodm9pZCopOwogCkBAIC00MSw3ICs0MCw4IEBAIHRlbXBsYXRlPD4gdm9pZCBm
cmVlT3duZWRHUHRyPEdQYXR0ZXJuU3BlYz4oR1BhdHRlcm5TcGVjKik7CiB0ZW1wbGF0ZTw+IHZv
aWQgZnJlZU93bmVkR1B0cjxHRGlyPihHRGlyKik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHRmlsZT4oR0ZpbGUqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25Q
dHIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdP
d25QdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdPd25QdHIpOwogcHVibGljOgogICAg
IGV4cGxpY2l0IEdPd25QdHIoVCogcHRyID0gMCkgOiBtX3B0cihwdHIpIHsgfQogICAgIH5HT3du
UHRyKCkgeyBmcmVlT3duZWRHUHRyKG1fcHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJp
bmdCdWZmZXIuaAppbmRleCBhNTQ2YmYzLi5lNzNkMzhlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4
dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMgKzMwLDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZl
cl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1p
dHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU3RyaW5nQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdHJpbmdCdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNp
Z25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKaW5kZXggNjU2NzY3Mi4uYjAzOGRmMSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNp
Zm5kZWYgU3RyaW5nSW1wbEJhc2VfaAogI2RlZmluZSBTdHJpbmdJbXBsQmFzZV9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+
CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBTdHJpbmdJbXBsQmFzZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdHJpbmdJbXBsQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3RyaW5nSW1wbEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IGJvb2wgaXNTdHJpbmdJbXBsKCkgeyByZXR1cm4gKG1fcmVmQ291bnRBbmRGbGFncyAmIHNfcmVm
Q291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbCkgIT0gc19yZWZDb3VudEludmFsaWRGb3JTdHJpbmdJ
bXBsOyB9CiAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0K
QEAgLTQ1LDkgKzQ1LDYgQEAgcHJvdGVjdGVkOgogICAgICAgICBCdWZmZXJTaGFyZWQsCiAgICAg
fTsKIAotICAgIHVzaW5nIE5vbmNvcHlhYmxlOjpvcGVyYXRvciBuZXc7Ci0gICAgdm9pZCogb3Bl
cmF0b3IgbmV3KHNpemVfdCwgdm9pZCogaW5QbGFjZSkgeyBBU1NFUlQoaW5QbGFjZSk7IHJldHVy
biBpblBsYWNlOyB9Ci0KICAgICAvLyBGb3IgU21hbGxTdHJpbmdTdG9yYWdlLCB3aGljaCBhbGxv
Y2F0ZXMgYW4gYXJyYXkgYW5kIHVzZXMgYW4gaW4tcGxhY2UgbmV3LgogICAgIFN0cmluZ0ltcGxC
YXNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxh
dG9yLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCmluZGV4IGZlNmE4
MDkuLjVhYjM0NDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxh
dG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaApAQCAtMjks
NyArMjksNiBAQAogI2lmbmRlZiBXVEZfQ29sbGF0b3JfaAogI2RlZmluZSBXVEZfQ29sbGF0b3Jf
aAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKQEAgLTM5LDcgKzM4LDgg
QEAgc3RydWN0IFVDb2xsYXRvcjsKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBDb2xs
YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29sbGF0b3IgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2xsYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9
IDEsIExlc3MgPSAtMSB9OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4
SW50ZXJwcmV0ZXIuaCBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCmlu
ZGV4IGY3NjFjY2MuLjEzZmQ0NTMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVn
ZXhJbnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRl
ci5oCkBAIC0zMDQsNyArMzA0LDggQEAgc3RydWN0IEJ5dGVUZXJtIHsKICAgICB9CiB9OwogCi1j
bGFzcyBCeXRlRGlzanVuY3Rpb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBCeXRl
RGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
Qnl0ZURpc2p1bmN0aW9uKHVuc2lnbmVkIG51bVN1YnBhdHRlcm5zLCB1bnNpZ25lZCBmcmFtZVNp
emUpCiAgICAgICAgIDogbV9udW1TdWJwYXR0ZXJucyhudW1TdWJwYXR0ZXJucykKQEAgLTMxNyw3
ICszMTgsOSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbV9mcmFtZVNpemU7CiB9OwogCi1zdHJ1
Y3QgQnl0ZWNvZGVQYXR0ZXJuIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQnl0ZWNvZGVQYXR0
ZXJuIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIEJ5dGVjb2Rl
UGF0dGVybihQYXNzT3duUHRyPEJ5dGVEaXNqdW5jdGlvbj4gYm9keSwgVmVjdG9yPEJ5dGVEaXNq
dW5jdGlvbio+IGFsbFBhcmVudGhlc2VzSW5mbywgUmVnZXhQYXR0ZXJuJiBwYXR0ZXJuLCBCdW1w
UG9pbnRlckFsbG9jYXRvciogYWxsb2NhdG9yKQogICAgICAgICA6IG1fYm9keShib2R5KQogICAg
ICAgICAsIG1faWdub3JlQ2FzZShwYXR0ZXJuLm1faWdub3JlQ2FzZSkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1Jl
Z2V4UGF0dGVybi5oCmluZGV4IDM3YjU0NGYuLjFhYzBmZjEgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgKKysrIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eFBhdHRlcm4uaApAQCAtNjksNyArNjksOSBAQCBwcml2YXRlOgogICAgIH0KIH07CiAKLXN0cnVj
dCBDaGFyYWN0ZXJDbGFzcyA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENoYXJhY3RlckNsYXNz
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIC8vIEFsbCBDaGFy
YWN0ZXJDbGFzcyBpbnN0YW5jZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVz
IGFuZCByYW5nZXMsCiAgICAgLy8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3Ig
ZmFzdGVyIGxvb2t1cHMgKHdoaWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1h
dGNoZXMgYW5kIHJhbmdlcykKQEAgLTIwMSw3ICsyMDMsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0g
ewogICAgIH0KIH07CiAKLXN0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNl
IHsKK3N0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CiAgICAgUGF0dGVybkFsdGVybmF0aXZlKFBhdHRlcm5EaXNqdW5jdGlvbiog
ZGlzanVuY3Rpb24pCiAgICAgICAgIDogbV9wYXJlbnQoZGlzanVuY3Rpb24pCiAgICAgICAgICwg
bV9vbmNlVGhyb3VnaChmYWxzZSkKQEAgLTI0Miw3ICsyNDYsOSBAQCBzdHJ1Y3QgUGF0dGVybkFs
dGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgYm9vbCBtX2NvbnRhaW5zQk9MIDogMTsK
IH07CiAKLXN0cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBQYXR0ZXJuRGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJs
aWM6CiAgICAgUGF0dGVybkRpc2p1bmN0aW9uKFBhdHRlcm5BbHRlcm5hdGl2ZSogcGFyZW50ID0g
MCkKICAgICAgICAgOiBtX3BhcmVudChwYXJlbnQpCiAgICAgICAgICwgbV9oYXNGaXhlZFNpemUo
ZmFsc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0
R2x1ZS9DaGFuZ2VMb2cKaW5kZXggYzdiMmRjZS4uYmMzNjlhOCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdEdsdWUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEwLTExLTI1ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCBy
aWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAg
SW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRp
bmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kIAor
ICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50
YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNl
LmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFi
bGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMC0yNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJhY2xvdWdoLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9K
YXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9KYXZhU2NyaXB0
R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBA
IC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MDA3
MjJkLi43ODFjY2UxIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTI1ICBab2x0YW4gSG9ydmF0aCAg
PHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNl
IGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3Vs
dCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2Ug
Tm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVp
ciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNz
YXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFk
ZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTI1ICBIYW5zIFdlbm5i
b3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9y
bG93LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFi
bGUuaCBiL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1MTI2NzcuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9G
b3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotI2lmbmRlZiBXZWJDb3JlX0ZXRF9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdlYkNv
cmVfRldEX05vbmNvcHlhYmxlX2gKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJs
ZS5oPgotI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxOWFh
ZjVjLi5jNTE1NzVlIDEwMDc1NQotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTYz
NTY5LDEwICs2MzU2OSw2IEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcTm9uY29weWFibGUuaCIN
Ci0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcT3duQXJyYXlQdHIuaCINCiAJCQkJCT4NCiAJCQkJPC9G
aWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgg
Yi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDJlZTU2ZWUuLmIy
YWM4NjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgK
KysrIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtNTcsNyArNTcs
OCBAQCBzdHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RUeXBlIHsgUG9zdFN5bmNo
cm9ub3VzbHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBBWE9iamVjdENhY2hlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEFYT2JqZWN0Q2FjaGUoKTsKICAgICB+QVhPYmplY3RDYWNoZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCmluZGV4IDgw
OWE0ODguLmQwOTE0MzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlw
dFNvdXJjZVByb3ZpZGVyLmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyIDogcHVibGljIFNjcmlwdFNv
dXJjZVByb3ZpZGVyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0ZShDYWNoZWRTY3JpcHQqIGNhY2hl
ZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVy
KGNhY2hlZFNjcmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvR0ND
b250cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCmluZGV4IDRj
MjU0MDcuLmQzMmY3NTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9s
bGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaApAQCAtMjYsMTIg
KzI2LDEyIEBACiAjaWZuZGVmIEdDQ29udHJvbGxlcl9oCiAjZGVmaW5lIEdDQ29udHJvbGxlcl9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJUaW1lci5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEdDQ29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdDQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAg
IGZyaWVuZCBHQ0NvbnRyb2xsZXImIGdjQ29udHJvbGxlcigpOwogCiAgICAgcHVibGljOgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01CaW5kaW5nLmgKaW5kZXggNTRlOWNmNi4uNzczYjU3MyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8cnVudGlt
ZS9Mb29rdXAuaD4KICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ01hcC5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dy
YXBwZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5mNDM5NzMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RlYnVnV3JhcHBlclNldC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJKU0RPTVdy
YXBwZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRlZCB3aXRob3V0IGJl
aW5nIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGNhY2hl
ZCB0d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNE
ZWJ1Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVhZFNwZWNpZmljPEpT
RGVidWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1Z1dyYXBwZXJTZXQm
IHNoYXJlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgK
aW5kZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01haW5UaHJlYWRFeGVjU3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRo
cmVhZEV4ZWNTdGF0ZS5oCkBAIC0zMCwxMSArMzAsMTEgQEAKICNpZm5kZWYgTkRFQlVHCiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNlbmRpZgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTWFpblRocmVhZEV4ZWNTdGF0ZSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIEpTQzo6RXhlY1N0YXRlKiBjdXJyZW50U3RhdGUoKQogICAgIHsgCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi5jZmNlZWQ0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwgZWl0aGVyIG9uY2Ugb3IgcmVwZWF0
ZWRseS4gVXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQogICAgICogYW5kIHdpbmRvdy5zZXRJ
bnRlcnZhbCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxTY2hlZHVsZWRBY3Rpb24+IGNy
ZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCogaXNvbGF0ZWRXb3JsZCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmluZGV4IDE1YzIz
YzUuLjI3ODE0ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRE9N
V2luZG93OwogICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIAotICAgIGNsYXNzIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hl
ZEZyYW1lRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHR5cGVkZWYgSGFz
aE1hcDwgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJvdGVjdGVkUHRyPEpTRE9NV2lu
ZG93PiA+IEpTRE9NV2luZG93U2V0OwogCiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDMxNzJjNjUuLmQyNTkzZjcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2LDcgKzU2LDggQEAgY2xhc3MgUGFnZUdy
b3VwOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIGNsYXNzIEphdmFTY3JpcHRDYWxsRnJh
bWU7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dlciwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVk
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaCBi
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRk
NjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC0zMiwxMSArMzIsMTEg
QEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlw
dFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBT
dHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9w
KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFN0YXRlLmgKaW5kZXggMGMwODYxMS4uNDk3MTkyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2RlZmluZSBTY3JpcHRTdGF0ZV9oCiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGVjU3RhdGU7CkBAIC01Miw3ICs1MSw4IEBAIGNsYXNz
IFBhZ2U7CiAvLyBGb3Igbm93LCB0aGUgc2VwYXJhdGlvbiBpcyBwdXJlbHkgYnkgY29udmVudGlv
bi4KIHR5cGVkZWYgSlNDOjpFeGVjU3RhdGUgU2NyaXB0U3RhdGU7CiAKLWNsYXNzIFNjcmlwdFN0
YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIo
U2NyaXB0U3RhdGUqKTsKICAgICB+U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNTI4Y2JjOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDE3ICsy
NCwxOCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRE9NT2Jq
ZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xv
YmFsRGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVK
U0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGFXb3JsZEl0ZXJhdG9yOwog
ICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpKU0dsb2JhbERh
dGEqKTsKIAogcHVibGljOgorICAgIFdlYkNvcmVKU0NsaWVudERhdGEoKSB7IH0KICAgICB2aXJ0
dWFsIH5XZWJDb3JlSlNDbGllbnREYXRhKCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3dvcmxk
U2V0LmNvbnRhaW5zKG1fbm9ybWFsV29ybGQuZ2V0KCkpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggYmU3ZGE0ZC4uNzhiN2RkZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDcgKzMx
LDYgQEAKIAogI2luY2x1ZGUgPHJ1bnRpbWUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ1LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNjcmlwdFZhbHVlOwogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7
CiAKLSAgICBjbGFzcyBXb3JrZXJTY3JpcHRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBXb3JrZXJTY3JpcHRDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV29ya2VyU2NyaXB0Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNv
bnRleHQqKTsKICAgICAgICAgfldvcmtlclNjcmlwdENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01E
YXRhLmgKaW5kZXggYzhiNGE0MS4uMDlkNTM0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9ET01EYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKQEAgLTQz
LDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHRocmVhZC4gIFRoZSBET01E
YXRhIGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZSBET01EYXRhIGZvciBjaGlsZCB0aHJlYWRz
CiAgICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9N
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRE9N
RGF0YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRh
U3RvcmUuaAppbmRleCAzNzU4ZTIzLi44YzZjMDJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGFTdG9yZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0
b3JlLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAgLTE0OSw3ICsxNDgsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gVGhpcyBjbGFzcyBkb2Vzbid0IG1hbmFnZSB0
aGUgbGlmZXRpbWUgb2YgdGhlIHN0b3JlLiAgVGhlIGRhdGEgc3RvcmUKICAgICAvLyBsaWZldGlt
ZSBpcyBtYW5hZ2VkIGJ5IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBET01EYXRhU3Rv
cmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGFTdG9yZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGFTdG9yZSk7CiAgICAgcHVibGljOgogICAg
ICAgICBlbnVtIERPTVdyYXBwZXJNYXBUeXBlIHsKICAgICAgICAgICAgIERPTU5vZGVNYXAsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxYWExZjYy
Li5mNDJlODExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZy
YW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmgKQEAgLTYwLDE0ICs2MCwxNCBAQCBwdWJsaWM6CiAKICNpbmNsdWRlICJPd25IYW5kbGUuaCIK
ICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwogY2xhc3MgRE9NV2luZG93OwogCi1jbGFzcyBT
Y3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlw
dENhY2hlZEZyYW1lRGF0YSAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hl
ZEZyYW1lRGF0YSApOwogcHVibGljOgogICAgIFNjcmlwdENhY2hlZEZyYW1lRGF0YShGcmFtZSop
OwogICAgIH5TY3JpcHRDYWNoZWRGcmFtZURhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0RGVidWdTZXJ2ZXIuaAppbmRleCA1YzVkNmM2Li40NDFhYjNkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAiVGlt
ZXIuaCIKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTQ4LDcgKzQ3LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7
CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNjcmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1
Z1NlcnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IGI3NWEwNTQuLmUwOTY5
ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKQEAgLTM2LDEzICszNiwxMyBA
QAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNj
cmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAuLmRjMjQ3
MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2lu
Y2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiBj
bGFzcyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGUp
OwogcHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0aW9uKCkgeyByZXR1cm4gIW1fZXhjZXB0aW9u
LklzRW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhjZXB0aW9uKHY4OjpMb2NhbDx2ODo6VmFsdWU+
IGV4Y2VwdGlvbikKQEAgLTc5LDcgKzc5LDggQEAgcHVibGljOgogICAgIH5FbXB0eVNjcmlwdFN0
YXRlKCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIFNj
cmlwdFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3NjcmlwdFN0YXRlKDApIHsgfQogICAgIFNjcmlw
dFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkgOiBtX3NjcmlwdFN0
YXRlKHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0
VmFsdWUuY3BwCmluZGV4IDM2ZmMxZjYuLjJjMjg3ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTEyOCw3ICsxMjgsOCBAQCBwcml2YXRl
OgogCiAvLyBXcml0ZXIgaXMgcmVzcG9uc2libGUgZm9yIHNlcmlhbGl6aW5nIHByaW1pdGl2ZSB0
eXBlcyBhbmQgc3RvcmluZwogLy8gaW5mb3JtYXRpb24gdXNlZCB0byByZWNvbnN0cnVjdCBjb21w
b3NpdGUgdHlwZXMuCi1jbGFzcyBXcml0ZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBXcml0ZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdyaXRlcik7CiBwdWJsaWM6CiAgICAgV3JpdGVy
KCkKICAgICAgICAgOiBtX3Bvc2l0aW9uKDApCkBAIC0zNzcsNyArMzc4LDggQEAgcHVibGljOgog
ICAgIH0KIAogcHJpdmF0ZToKLSAgICBjbGFzcyBTdGF0ZUJhc2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFN0YXRlQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0YXRlQmFzZSk7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5TdGF0ZUJhc2UoKSB7
IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmggYi9XZWJDb3JlL2JyaWRn
ZS9CcmlkZ2UuaAppbmRleCA1MGVmYzY0Li45MTgyMjZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jy
aWRnZS9CcmlkZ2UuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaApAQCAtMjgsMTQgKzI4
LDE1IEBACiAjZGVmaW5lIEJyaWRnZV9oCiAKICNpbmNsdWRlICJCcmlkZ2VKU0MuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyAgewogCiBuYW1lc3BhY2Ug
QmluZGluZ3MgewogCi1jbGFzcyBNZXRob2QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TWV0aG9kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXRob2QpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQogICAgIHZpcnR1YWwgaW50IG51
bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIH5NZXRob2QoKSB7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaCBiL1dlYkNvcmUvYnJpZGdl
L0lkZW50aWZpZXJSZXAuaAppbmRleCA5OWJhZTBiLi5jYTQzYWQwIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmll
clJlcC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSWRlbnRpZmllclJlcF9oCiAKICNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlmaWVyUmVwIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGludCk7CiAg
ICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChjb25zdCBjaGFyKik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmggYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdl
SlNDLmgKaW5kZXggOTY5NzRkOS4uODhlYzcyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
anNjL0JyaWRnZUpTQy5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaApAQCAt
NTksOCArNTksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkZpZWxkKCkgeyB9CiB9OwogCi1j
bGFzcyBDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDbGFzcyB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIENsYXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChj
b25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVs
ZCogZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwg
Y29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsx
MjcsOCBAQCBwcml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVP
YmplY3Q7CiB9OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBB
cnJheSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFy
cmF5KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaCBiL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfcm9vdC5oCmluZGV4IGJhYmQ3YWQuLjM5ZmIzNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfcm9vdC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5o
CkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmgKaW5kZXggODMzZDdmZS4uNTZiMjgyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzIsNiAr
MzIsNyBAQCBjbGFzcyBTdHlsZUNhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVJbWFnZTsKIAogY2xh
c3MgQ1NTSW1hZ2VWYWx1ZSA6IHB1YmxpYyBDU1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0ZSBDYWNo
ZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJ
bWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NJbXBv
cnRSdWxlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggMTBkMzAyNi4uNzNm
MmFjYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNoZWRDU1NT
dHlsZVNoZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxlIDogcHVi
bGljIENTU1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1wb3J0
UnVsZT4gY3JlYXRlKENTU1N0eWxlU2hlZXQqIHBhcmVudCwgY29uc3QgU3RyaW5nJiBocmVmLCBQ
YXNzUmVmUHRyPE1lZGlhTGlzdD4gbWVkaWEpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTTmFtZXNwYWNlLmggYi9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaAppbmRleCA2MjI1
YzM2Li4wNmQ0MDZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaApAQCAtMjYsNyArMjYsOSBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLSAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIDogTm9uY29weWFibGUgewor
ICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShD
U1NOYW1lc3BhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAg
ICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAgQXRvbWljU3RyaW5nIHVyaTsKICAgICAg
ICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmggYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCBhY2Y5N2YyLi4wY2U3
NWNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaApAQCAtMzI5LDcgKzMyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBpbnQgY3NzUHJvcGVydHlJRChjb25zdCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVLZXl3
b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRTY29w
ZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTaG9y
dGhhbmRTY29wZShDU1NQYXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3BhcnNlcihwYXJz
ZXIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5o
IGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggOTkzYWUyOC4uNDVmNGE0NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IENTU1BhcnNlclZh
bHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjcmVhdGVDU1NWYWx1ZSgpOwogfTsKIAot
Y2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
Q1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIENTU1BhcnNlclZhbHVlTGlzdCgpCiAgICAgICAgIDogbV9jdXJyZW50KDApCkBAIC04
Myw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPENTU1BhcnNlclZhbHVlLCA0PiBtX3Zh
bHVlczsKIH07CiAKLXN0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiA6IEZhc3RBbGxvY0Jhc2Ugewor
c3RydWN0IENTU1BhcnNlckZ1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAor
cHVibGljOgogICAgIENTU1BhcnNlclN0cmluZyBuYW1lOwogICAgIE93blB0cjxDU1NQYXJzZXJW
YWx1ZUxpc3Q+IGFyZ3M7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHku
aCBiL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKaW5kZXggMTA2MTcxZC4uOWE5ZWM0NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgQ1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0
eSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDU1NQcm9wZXJ0
eShpbnQgcHJvcElELCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQg
PSBmYWxzZSwgaW50IHNob3J0aGFuZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9IGZhbHNlKQogICAg
ICAgICA6IG1faWQocHJvcElEKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGZiOGY2OTUuLjQyY2RmNzkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvci5jcHAKQEAgLTM3LDggKzM3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotY2xhc3MgQ1NTU2VsZWN0b3JCYWcgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTU2VsZWN0b3JCYWcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENTU1NlbGVjdG9yQmFnKTsKIHB1YmxpYzoKKyAgICBDU1NTZWxlY3RvckJh
ZygpIHsgfQogICAgIH5DU1NTZWxlY3RvckJhZygpCiAgICAgewogICAgICAgICBBU1NFUlQoaXNF
bXB0eSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDAwZTIzYjkuLjQ2ZjRhYWYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApA
QCAtMjQsNyArMjQsNiBAQAogCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUg
IlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENTU1NlbGVjdG9y
QmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0b3IgZm9yIGEgU3R5
bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2Vs
ZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ1NT
U2VsZWN0b3IoKQogICAgICAgICAgICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCkBAIC0zMDIs
NyArMzAyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBzcGVjaWZp
Y2l0eUZvclBhZ2UoKSBjb25zdDsKICAgICAgICAgdm9pZCBleHRyYWN0UHNldWRvVHlwZSgpIGNv
bnN0OwogCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJhcmVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgUmFyZURhdGEoUGFzc093blB0cjxDU1NTZWxlY3Rvcj4gdGFnSGlzdG9yeSkKICAgICAgICAg
ICAgICAgICA6IG1fYSgwKQogICAgICAgICAgICAgICAgICwgbV9iKDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlz
dC5oCmluZGV4IDllNDBlZjguLjg1ODQyNzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yTGlzdC5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCkBAIC0yNywx
MSArMjcsMTEgQEAKICNkZWZpbmUgQ1NTU2VsZWN0b3JMaXN0X2gKIAogI2luY2x1ZGUgIkNTU1Nl
bGVjdG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAKLWNsYXNzIENTU1NlbGVjdG9yTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDU1NTZWxlY3Rvckxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1Nl
bGVjdG9yTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTU2Vs
ZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yTGlz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCAxZmYzYmQ1Li4wNWExYmY1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzQ5LDcgKzM0OSw4IEBAIGlmIChpZCA9PSBwcm9w
SUQpIHsgXAogICAgIHJldHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxlU2V0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENTU1J1bGVTZXQpOwogcHVibGljOgogICAgIENTU1J1bGVTZXQoKTsKICAgICB+Q1NTUnVsZVNl
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oIGIvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmluZGV4IGI3MTg3NTEuLjEzZmM5N2UgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5bGVkRWxlbWVudDsKIGNs
YXNzIFdlYktpdENTU0tleWZyYW1lUnVsZTsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lc1J1bGU7
CiAKLWNsYXNzIE1lZGlhUXVlcnlSZXN1bHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TWVkaWFRdWVyeVJlc3VsdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeVJl
c3VsdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTWVkaWFRdWVyeVJl
c3VsdChjb25zdCBNZWRpYVF1ZXJ5RXhwJiBleHByLCBib29sIHJlc3VsdCkKICAgICAgICAgOiBt
X2V4cHJlc3Npb24oZXhwcikKQEAgLTgyLDcgKzgzLDggQEAgcHVibGljOgogfTsKIAogICAgIC8v
IFRoaXMgY2xhc3Mgc2VsZWN0cyBhIFJlbmRlclN0eWxlIGZvciBhIGdpdmVuIGVsZW1lbnQgYmFz
ZWQgb24gYSBjb2xsZWN0aW9uIG9mIHN0eWxlc2hlZXRzLgotICAgIGNsYXNzIENTU1N0eWxlU2Vs
ZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3Ig
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTdHlsZVNlbGVjdG9yKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0b3Io
RG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBt
YXBwZWRFbGVtZW50U2hlZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVTaGVl
dCogcGFnZVVzZXJTaGVldCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBw
YWdlR3JvdXBVc2VyU2hlZXRzLApAQCAtMjA5LDcgKzIxMSw4IEBAIHB1YmxpYzoKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUoKSB7
IHJldHVybiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2VsZWN0
b3JDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0b3JD
aGVja2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hlY2tl
cik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1bWVu
dCosIGJvb2wgc3RyaWN0UGFyc2luZyk7CiAKQEAgLTMxNSw3ICszMTgsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIFZlY3RvcjxNZWRpYVF1ZXJ5UmVzdWx0Kj4gbV92aWV3cG9ydERlcGVuZGVudE1lZGlh
UXVlcnlSZXN1bHRzOwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURhdGEgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDU1NSdWxlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3MsIENTU1N0eWxlUnVsZSogciwg
Q1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAwKQogICAgICAgICAgICAgOiBt
X3Bvc2l0aW9uKHBvcykKQEAgLTM0Myw3ICszNDcsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU1J1
bGVEYXRhKiBtX25leHQ7CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURhdGFMaXN0IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1J1bGVEYXRhTGlzdCh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogcnVsZSwgQ1NTU2VsZWN0b3IqIHNlbCkKICAgICAgICAgICAgIDogbV9m
aXJzdChuZXcgQ1NTUnVsZURhdGEocG9zLCBydWxlLCBzZWwpKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCmluZGV4IDI4MTAw
OWIuLjdkMWZjN2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAorKysgYi9X
ZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKQEAgLTM3LDcgKzM3LDggQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAKLWNsYXNzIE1lZGlhUXVlcnkgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTWVkaWFRdWVyeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51
bSBSZXN0cmljdG9yIHsKICAgICAgICAgT25seSwgTm90LCBOb25lCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZh
bHVhdG9yLmgKaW5kZXggMDBhYzM5NC4uZDhjNTk4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0
b3IuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogICogdGhlIGRldmlj
ZSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5vdCBrbm93bi4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcnVu
ZSB0aGUgbG9hZGluZwogICogb2Ygc3R5bGVzaGVldHMgdG8gb25seSB0aG9zZSB3aGljaCBhcmUg
cHJvYmFibGUgdG8gbWF0Y2guCiAgKi8KLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciB7CisgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlFdmFsdWF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIC8qKiBDcmVhdGVzIGV2YWx1YXRvciB3aGljaCBldmFsdWF0ZXMg
b25seSBzaW1wbGUgbWVkaWEgcXVlcmllcwogICAgICAqICBFdmFsdWF0b3IgcmV0dXJucyB0cnVl
IGZvciAiYWxsIiwgYW5kIHJldHVybnMgdmFsdWUgb2YgXG1lZGlhRmVhdHVyZVJlc3VsdApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oIGIvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUV4cC5oCmluZGV4IDcyZDNmZmYuLjhlNDI1NWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlFeHAuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4
LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENTU1BhcnNlclZhbHVlTGlz
dDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFRdWVyeUV4cD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0
cmluZyYgbWVkaWFGZWF0dXJlLCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlcyk7CiAgICAgfk1l
ZGlhUXVlcnlFeHAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVy
LmNwcCBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcAppbmRleCA3ZjVmMWI2Li40
YThkMjVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKKysr
IGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIHZv
aWQgQXN5bmNTY3JpcHRSdW5uZXI6OmV4ZWN1dGVTY3JpcHRTb29uKFNjcmlwdEVsZW1lbnQqIGRh
dGEsIENhY2hlZFJlc291cmNlSGFuCiAgICAgQVNTRVJUKGVsZW1lbnQtPmluRG9jdW1lbnQoKSk7
CiAKICAgICBtX2RvY3VtZW50LT5pbmNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCk7Ci0gICAg
bV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBlbmQobWFrZV9wYWlyKGRhdGEsIGNhY2hlZFNjcmlw
dCkpOworICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGRh
dGEsIGNhY2hlZFNjcmlwdCkpOwogICAgIGVsZW1lbnQtPnJlZigpOyAvLyBCYWxhbmNlZCBieSBk
ZXJlZigpcyBpbiB0aW1lckZpcmVkKCkgYW5kIGR0b3IuCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0
aXZlKCkpCiAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVu
bmVyLmgKaW5kZXggMWEwNTFhOC4uMjllZTU2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuaAorKysgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCkBA
IC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2lu
Y2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM4LDcgKzM3
LDggQEAgY2xhc3MgQ2FjaGVkU2NyaXB0OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBTY3JpcHRF
bGVtZW50OwogICAgIAotY2xhc3MgQXN5bmNTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQXN5bmNTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEFzeW5jU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxBc3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCkgeyByZXR1cm4gbmV3IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAg
IH5Bc3luY1NjcmlwdFJ1bm5lcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRE9NU3RyaW5n
TWFwLmggYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAppbmRleCA4NmEyMmIwLi5mNTAzNmU0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9XZWJDb3JlL2Rv
bS9ET01TdHJpbmdNYXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBET01TdHJpbmdNYXBf
aAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVk
ZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBET01TdHJpbmdNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERPTVN0cmluZ01hcCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+RE9NU3RyaW5nTWFwKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4M2JhODg1Li44NDFiYjI0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC00NjU1LDcgKzQ2NTUsOSBAQCB2b2lkIERvY3VtZW50OjphZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAog
ICAgICAgICB3aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVs
LCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRh
c2tDb250ZXh0IDogTm9uY29weWFibGUgeworc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRhc2tDb250ZXh0KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQZXJmb3JtVGFza0NvbnRleHQoUGFzc1JlZlB0cjxE
b2N1bWVudFdlYWtSZWZlcmVuY2U+IGRvY3VtZW50UmVmZXJlbmNlLCBQYXNzT3duUHRyPFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2spCiAgICAgICAgIDogZG9jdW1lbnRSZWZlcmVu
Y2UoZG9jdW1lbnRSZWZlcmVuY2UpCiAgICAgICAgICwgdGFzayh0YXNrKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudE1hcmtlckNvbnRyb2xsZXIuaAppbmRleCA5NmZiN2YzLi41MGVjODgzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2Rv
bS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaApAQCAtMzgsOCArMzgsMTAgQEAgY2xhc3MgSW50
UmVjdDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIAotY2xhc3MgRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50TWFya2VyQ29u
dHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRNYXJrZXJDb250cm9s
bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBEb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXIoKSB7IH0KICAgICB+RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyBkZXRh
Y2goKTsgfQogCiAgICAgdm9pZCBkZXRhY2goKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2
ZW50LmggYi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGYwNWQzNmMuLmNkNDlkZTggMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAt
MjQsNiArMjQsNyBAQAogI2lmbmRlZiBFdmVudF9oCiAjZGVmaW5lIEV2ZW50X2gKIAorI2luY2x1
ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkRPTVRpbWVTdGFtcC5oIgogI2luY2x1ZGUgIkV2
ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTMxLDggKzMyLDYg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgQ2xpcGJvYXJkOwotCiAgICAg
Y2xhc3MgRXZlbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudD4gewogICAgIHB1YmxpYzoKICAg
ICAgICAgZW51bSBQaGFzZVR5cGUgeyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA0OTY4MDRlLi43ZTEwZTZmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oCkBAIC0xNzgsNyArMTc4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFwK
IC8vIGVuZCBvZiBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gKIAotICAgIGNsYXNzIEV2ZW50TmFt
ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TmFtZXMgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudE5hbWVzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBt
YWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRlIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxs
IHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5h
bWVzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAppbmRleCBkZGNiNjYzLi5mYTE5MGRjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAg
LTgzLDcgKzgzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJl
Z2lzdGVyZWRFdmVudExpc3RlbmVyLCAxPiBFdmVudExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVk
ZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIEV2ZW50TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3Rl
bmVyTWFwOwogCi0gICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgRXZlbnRUYXJnZXREYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RXZlbnRUYXJnZXREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAg
ICAgICAgIEV2ZW50VGFyZ2V0RGF0YSgpOwogICAgICAgICB+RXZlbnRUYXJnZXREYXRhKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3Jl
bWVudGVyLmggYi9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1l
bnRlci5oCmluZGV4IDlkMTgzNWEuLjI2ZjdmZDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0ln
bm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKKysrIGIvV2ViQ29yZS9kb20v
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaApAQCAtMjcsMTEgKzI3LDEx
IEBACiAjZGVmaW5lIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyX2gKIAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElnbm9yZURl
c3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBJ
Z25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcihEb2N1bWVudCogZG9jdW1lbnQp
CiAgICAgICAgIDogbV9jb3VudChkb2N1bWVudCA/ICZkb2N1bWVudC0+bV9pZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnQgOiAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRD
aGFubmVsLmggYi9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAppbmRleCBmMzA4YTI5
Li4xNGQ5MGZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAor
KysgYi9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaApAQCAtNTUsNyArNTUsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBNZXNzYWdlUG9ydENoYW5uZWwgaXMgYSBwbGF0
Zm9ybS1pbmRlcGVuZGVudCBpbnRlcmZhY2UgdG8gdGhlIHJlbW90ZSBzaWRlIG9mIGEgbWVzc2Fn
ZSBjaGFubmVsLgogICAgIC8vIEl0IGFjdHMgYXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUgcGxhdGZv
cm0tZGVwZW5kZW50IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsIGltcGxlbWVudGF0aW9uIHdo
aWNoIGVuc3VyZXMgdGhhdCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IGNsb3NlKCkgbWV0aG9kIGlz
IGludm9rZWQgYmVmb3JlIGRlc3RydWN0aW9uLgotICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5l
bCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVBvcnRDaGFubmVsKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0
ZUNoYW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4sIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+
KTsKIApAQCAtNzgsNyArNzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIFJl
dHVybnMgdHJ1ZSBpZiB0aGUgcHJveHkgY3VycmVudGx5IGNvbnRhaW5zIG1lc3NhZ2VzIGZvciB0
aGlzIHBvcnQuCiAgICAgICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiAKLSAgICAgICAg
Y2xhc3MgRXZlbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXZl
bnREYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50RGF0YSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPEV2ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0
YS5oCmluZGV4IGFiMjA4ZDIuLmVkYzUwNjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVS
YXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDog
Tm9uY29weWFibGUgeworc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitw
dWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoU2V0PER5bmFtaWNOb2RlTGlzdCo+IE5vZGVMaXN0U2V0
OwogICAgIE5vZGVMaXN0U2V0IG1fbGlzdHNXaXRoQ2FjaGVzOwogICAgIApAQCAtNjcsNyArNjks
OCBAQCBwcml2YXRlOgogICAgIH0KIH07CiAgICAgCi1jbGFzcyBOb2RlUmFyZURhdGEgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTm9kZVJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShOb2RlUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOiAg
ICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1fdGFiSW5kZXgoMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5h
bWUuaAppbmRleCAzNGZjMDY5Li4xN2U4NTAwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9RdWFs
aWZpZWROYW1lLmgKKysrIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICsz
Miw4IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCog
bV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFsaWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgUXVhbGlmaWVkTmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBjbGFzcyBRdWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFF1YWxpZmllZE5hbWVJbXBsPiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4
IGI2YmViNmUuLjRlOTFiZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
aAorKysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xh
c3MgU2NyaXB0RWxlbWVudDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlw
dEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNjcmlwdEVsZW1lbnQoRWxlbWVudCosIGJvb2wg
Y3JlYXRlZEJ5UGFyc2VyLCBib29sIGlzRXZhbHVhdGVkKTsKICAgICB2aXJ0dWFsIH5TY3JpcHRF
bGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmggYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYjQ2YTBmNC4u
OGNhODJhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
CisrKyBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMTE2LDggKzEx
NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgcmVmKCkgeyByZWZTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCk7IH0KICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCk7IH0KIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGlj
OgorICAgICAgICAgICAgVGFzaygpIHsgfQogICAgICAgICAgICAgdmlydHVhbCB+VGFzaygpOwog
ICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBDZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3BlY2lh
bGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlzY2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3aGVu
IHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRvd24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmggYi9XZWJDb3JlL2RvbS9TcGFjZVNw
bGl0U3RyaW5nLmgKaW5kZXggODI2ZTZiZC4uODM5OWI2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vU3BhY2VTcGxpdFN0cmluZy5oCisrKyBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcu
aApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBT
cGFjZVNwbGl0U3RyaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU3Bh
Y2VTcGxpdFN0cmluZ0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGFjZVNw
bGl0U3RyaW5nRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBTcGFjZVNwbGl0U3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzaG91
bGRGb2xkQ2FzZSkKICAgICAgICAgICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRGb2xk
Q2FzZShzaG91bGRGb2xkQ2FzZSksIG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291
cmNlLmgKaW5kZXggZjk3YWZjZi4uOTdlYzQ4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVHJh
bnNmb3JtU291cmNlLmgKKysrIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTIz
LDcgKzIzLDYgQEAKICNpZiBFTkFCTEUoWFNMVCkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtMzMsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lk
KiBQbGF0Zm9ybVRyYW5zZm9ybVNvdXJjZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNmb3Jt
U291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2Ug
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgVHJhbnNmb3JtU291cmNlKGNv
bnN0IFBsYXRmb3JtVHJhbnNmb3JtU291cmNlJiBzb3VyY2UpOwogICAgICAgICB+VHJhbnNmb3Jt
U291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5o
IGIvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAppbmRleCAxN2VhMzE5Li5kZTU3
ZWZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCisrKyBi
L1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNp
Zm5kZWYgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyR2VzdHVyZUluZGljYXRv
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zNiw3ICszNSw4IEBAIGVudW0gUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgewog
ICAgIERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUKIH07CiAKLWNsYXNzIFVzZXJH
ZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJHZXN0dXJl
SW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyR2VzdHVyZUluZGljYXRv
cik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgeyBy
ZXR1cm4gc19wcm9jZXNzaW5nVXNlckdlc3R1cmUgPT0gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2Vy
R2VzdHVyZTsgfQogICAgIHN0YXRpYyBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSBnZXRVc2Vy
R2VzdHVyZVN0YXRlKCkgeyByZXR1cm4gc19wcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmggYi9XZWJDb3Jl
L2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCmluZGV4IDZjNzEwNzkuLmJjM2FjZTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKKysr
IGIvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaApAQCAtMjYsNyArMjYs
NiBAQAogI2lmbmRlZiBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcl9oCiAjZGVmaW5lIFVzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzQsNyAr
MzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiAK
LWNsYXNzIFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJv
b2wgcHJvY2Vzc2luZ1VzZXJUeXBpbmdHZXN0dXJlKCk7CiAgICAgc3RhdGljIE5vZGUqIGZvY3Vz
ZWRFbGVtZW50QXRHZXN0dXJlU3RhcnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hNTERv
Y3VtZW50UGFyc2VyLmggYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IGUz
ZDNjYzIuLmQ1ZGE5ZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2Vy
LmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtNzEsNiArNzEsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogICAgIGNsYXNzIFhNTERvY3VtZW50UGFy
c2VyIDogcHVibGljIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlciwgcHVibGljIENhY2hlZFJlc291
cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoRG9j
dW1lbnQqIGRvY3VtZW50LCBGcmFtZVZpZXcqIHZpZXcpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgYi9XZWJDb3JlL2RvbS9Y
TUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCmluZGV4IDdhMzI4NWYuLjZlZGU3ODYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvV2Vi
Q29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAg
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5k
aW5nQ2FsbGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFj
a3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGlj
OgorICAgIFBlbmRpbmdDYWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAg
ICAgewogICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJTY29wZS5oCmluZGV4IDU4ZThhNmIuLjhmNDE5MzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxE
b2N1bWVudFBhcnNlclNjb3BlLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgWE1MRG9jdW1l
bnRQYXJzZXJTY29wZV9oCiAjZGVmaW5lIFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBFTkFCTEUoWFNMVCkKICNpbmNsdWRlIDxs
aWJ4bWwvdHJlZS5oPgpAQCAtMzYsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNzIFhNTERvY3VtZW50UGFy
c2VyU2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFhNTERvY3VtZW50UGFy
c2VyU2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxEb2N1bWVudFBhcnNl
clNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2NvcGUoQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAgflhNTERv
Y3VtZW50UGFyc2VyU2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVC
dXR0b25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxl
ci5oCmluZGV4IDEyODZjMDcuLjg5ZjJjYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9E
ZWxldGVCdXR0b25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1
dHRvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9u
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJv
bGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVsZXRlQnV0dG9u
Q29udHJvbGxlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25D
b21tYW5kLmNwcAppbmRleCBmYjUyZTU2Li4xYzdiNzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9S
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTU5LDcgKzU5LDggQEAgZW51bSBFRnJhZ21l
bnRUeXBlIHsgRW1wdHlGcmFnbWVudCwgU2luZ2xlVGV4dE5vZGVGcmFnbWVudCwgVHJlZUZyYWdt
ZW50IH07CiAKIC8vIC0tLSBSZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1jbGFz
cyBSZXBsYWNlbWVudEZyYWdtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxh
Y2VtZW50RnJhZ21lbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2VtZW50RnJh
Z21lbnQpOwogcHVibGljOgogICAgIFJlcGxhY2VtZW50RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1
bWVudEZyYWdtZW50KiwgYm9vbCBtYXRjaFN0eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9X
ZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDhjYzg5ZTQuLjM5Nzhm
NzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtMzIsNyArMzIsNiBA
QAogI2luY2x1ZGUgIlNjcm9sbEJlaGF2aW9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNs
dWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBWaXNpYmxlUG9z
aXRpb247CiAKIGVudW0gRGlyZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9uRGlyZWN0aW9uYWxT
ZWxlY3Rpb24sIE1ha2VEaXJlY3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFzcyBTZWxlY3Rpb25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVjdGlvbkNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRyb2xsZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gRUFsdGVyYXRpb24geyBBbHRl
cmF0aW9uTW92ZSwgQWx0ZXJhdGlvbkV4dGVuZCB9OwogICAgIGVudW0gRURpcmVjdGlvbiB7IERp
cmVjdGlvbkZvcndhcmQsIERpcmVjdGlvbkJhY2t3YXJkLCBEaXJlY3Rpb25SaWdodCwgRGlyZWN0
aW9uTGVmdCB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBl
ci5oIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCmluZGV4IDRkY2VkMDUu
LmRlOWM3NTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIu
aAorKysgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKQEAgLTcyLDcgKzcy
LDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIGludCBtX2NoZWNraW5nTGVuZ3RoOwogfTsKIAot
Y2xhc3MgVGV4dENoZWNraW5nSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRl
eHRDaGVja2luZ0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENoZWNraW5n
SGVscGVyKTsKIHB1YmxpYzoKICAgICBUZXh0Q2hlY2tpbmdIZWxwZXIoRWRpdG9yQ2xpZW50Kiwg
UGFzc1JlZlB0cjxSYW5nZT4pOwogICAgIH5UZXh0Q2hlY2tpbmdIZWxwZXIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHAKaW5kZXggYTk2MjY4ZC4uMWZiZTYwZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVy
YXRvci5jcHAKQEAgLTU3LDcgKzU3LDggQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIC8v
IEtlZXBzIGVub3VnaCBvZiB0aGUgcHJldmlvdXMgdGV4dCB0byBiZSBhYmxlIHRvIHNlYXJjaCBp
biB0aGUgZnV0dXJlLCBidXQgbm8gbW9yZS4KIC8vIE5vbi1icmVha2luZyBzcGFjZXMgYXJlIGFs
d2F5cyBlcXVhbCB0byBub3JtYWwgc3BhY2VzLgogLy8gQ2FzZSBmb2xkaW5nIGlzIGFsc28gZG9u
ZSBpZiA8aXNDYXNlU2Vuc2l0aXZlPiBpcyBmYWxzZS4KLWNsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWFyY2hCdWZmZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNlYXJjaEJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0
IFN0cmluZyYgdGFyZ2V0LCBib29sIGlzQ2FzZVNlbnNpdGl2ZSk7CiAgICAgflNlYXJjaEJ1ZmZl
cigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaCBiL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlVGhyZWFkLmgKaW5kZXggZDdhYWJmNy4uNDUyMDVjNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRo
cmVhZC5oCkBAIC01NCw3ICs1NCw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0YXJ0KCk7CiAgICAg
dm9pZCBzdG9wKCk7CiAKLSAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBUYXNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7CiAgICAg
cHVibGljOgogICAgICAgICB2aXJ0dWFsIH5UYXNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBwZXJmb3JtVGFzaygpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZp
bGVTeXN0ZW0uaCBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAppbmRleCBiNzc5
YTVmLi4xMmE3MDEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVt
LmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw4
IEBAIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiAKIC8vIEtlZXBzIHBlci1wcm9jZXNzIGluZm9ybWF0aW9uIGFuZCBwcm92aWRlcyBhbiBl
bnRyeSBwb2ludCB0byBvcGVuIGEgZmlsZSBzeXN0ZW0uCi1jbGFzcyBMb2NhbEZpbGVTeXN0ZW0g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxGaWxlU3lzdGVtIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb2NhbEZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIC8vIFJldHVy
bnMgYSBwZXItcHJvY2VzcyBpbnN0YW5jZSBvZiBMb2NhbEZpbGVTeXN0ZW0uCiAgICAgLy8gTm90
ZSB0aGF0IExvY2FsRmlsZVN5c3RlbTo6aW5pdGlhbGl6ZUxvY2FsRmlsZVN5c3RlbSBtdXN0IGJl
IGNhbGxlZCBiZWZvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tI
ZWxwZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAppbmRleCAyNWU2
NzM5Li4wMjBhYzQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVs
cGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCkBAIC01OCw3
ICs1OCw4IEBAIGNsYXNzIEZpbGVFbnRyeVN5bmM7CiAKIC8vIEEgaGVscGVyIHRlbXBsYXRlIGZv
ciBGaWxlU3lzdGVtU3luYyBpbXBsZW1lbnRhdGlvbi4KIHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNj
ZXNzQ2FsbGJhY2ssIHR5cGVuYW1lIE9ic2VydmVyVHlwZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcs
IHR5cGVuYW1lIFJlc3VsdFR5cGU+Ci1jbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTeW5jQ2FsbGJhY2tIZWxwZXIpOwogcHVibGljOgogICAgIHR5cGVkZWYgU3lu
Y0NhbGxiYWNrSGVscGVyPFN1Y2Nlc3NDYWxsYmFjaywgT2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0Fy
ZywgUmVzdWx0VHlwZT4gSGVscGVyVHlwZTsKICAgICBTeW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2
ZXJUeXBlKiBvYnNlcnZlciA9IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2hpc3RvcnkvQmFja0Zv
cndhcmRDb250cm9sbGVyLmggYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVy
LmgKaW5kZXggZTg5ZTMyYi4uZDY4MDQ3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9oaXN0b3J5L0Jh
Y2tGb3J3YXJkQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENv
bnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCYWNrRm9yd2FyZENvbnRyb2xs
ZXJfaAogI2RlZmluZSBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAKQEAgLTM2LDcgKzM1LDggQEAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwogY2xhc3Mg
SGlzdG9yeUl0ZW07CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShCYWNrRm9yd2FyZENvbnRyb2xsZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlcihQYWdlKiwg
UGFzc1JlZlB0cjxCYWNrRm9yd2FyZExpc3Q+KTsKICAgICB+QmFja0ZvcndhcmRDb250cm9sbGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmggYi9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmgKaW5kZXggNzFhZTVhZC4uZDUwYjljZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCisrKyBiL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUu
aApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwogICAgIGNsYXNzIFBhZ2U7CiAg
ICAgCi0gICAgY2xhc3MgUGFnZUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBQYWdlQ2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2FjaGUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VD
YWNoZSogcGFnZUNhY2hlKCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0Nv
bGxlY3Rpb25DYWNoZS5oIGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRm
MWQxZmEuLmRhM2U2ZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUu
aAorKysgYi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlv
bkNhY2hlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwog
ICAgIENvbGxlY3Rpb25DYWNoZShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0
aW9uQ2FjaGUmIG9wZXJhdG9yPShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwv
RE9NU2V0dGFibGVUb2tlbkxpc3QuaAppbmRleCAyYjcxMWI0Li5lMTUwNzMxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwv
RE9NU2V0dGFibGVUb2tlbkxpc3QuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBET01TZXR0YWJsZVRva2VuTGlzdCA6IHB1YmxpYyBET01Ub2tlbkxpc3Qs
IHB1YmxpYyBSZWZDb3VudGVkPERPTVNldHRhYmxlVG9rZW5MaXN0PiB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01TZXR0YWJs
ZVRva2VuTGlzdD4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRE9N
VG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKaW5kZXggNWRmMmVkZS4u
ZTBkYmNjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCisrKyBiL1dl
YkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApAQCAtMjcsMTUgKzI3LDE2IEBACiAKICNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLWNsYXNzIERPTVRva2VuTGlz
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01Ub2tlbkxpc3QgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERPTVRva2VuTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CisgICAgRE9NVG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0
KCkge307CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCmluZGV4IGZjYjJiZTguLjU2YmFhN2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAKQEAgLTEyMTEsNyArMTIxMSw5IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFs
dWVTZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAot
c3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50
SGFuZGxpbmdTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAg
ICBSZWZQdHI8SFRNTElucHV0RWxlbWVudD4gbV9jdXJyUmFkaW87CiAgICAgYm9vbCBtX2luZGV0
ZXJtaW5hdGU7CiAgICAgYm9vbCBtX2NoZWNrZWQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTFBhcnNlclF1aXJrcy5oIGIvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAppbmRl
eCA1MGRlNzEwLi4zYmYyMmE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1
aXJrcy5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKQEAgLTI3LDEzICsy
NywxMyBAQAogI2RlZmluZSBIVE1MUGFyc2VyUXVpcmtzX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgTm9kZTsKIAotY2xhc3MgSFRNTFBhcnNlclF1aXJrcyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyUXVpcmtzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MUGFyc2VyUXVpcmtzKTsKIHB1YmxpYzoKICAgICBIVE1MUGFyc2VyUXVpcmtzKCkg
eyB9CiAgICAgdmlydHVhbCB+SFRNTFBhcnNlclF1aXJrcygpIHsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGMx
NDE3ZmEuLmRmMGFhMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUwLDcgKzQ5LDgg
QEAgY2xhc3MgUmVuZGVyU3R5bGU7CiAvLyBBbiBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMg
dGhlIHR5cGUtc3BlY2lmaWMgcGFydCBvZiBhbiBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90
IGV4cG9zZSBpbnN0YW5jZXMgb2YgSW5wdXRUeXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBp
dCB0byBjbGFzc2VzCiAvLyBvdGhlciB0aGFuIEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1
dFR5cGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJbnB1dFR5cGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVs
ZW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1
dFR5cGU+IGNyZWF0ZVRleHQoSFRNTElucHV0RWxlbWVudCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oIGIvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCmluZGV4IGNlMDQ0
ZWEuLjFmMTY2YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAorKysgYi9X
ZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTIyLDEzICsyMiwxMyBAQAogI2RlZmluZSBTdGVw
UmFuZ2VfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50
OwogCi1jbGFzcyBTdGVwUmFuZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RlcFJh
bmdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwUmFuZ2UpOwogcHVibGljOgogICAg
IGJvb2wgaGFzU3RlcDsKICAgICBkb3VibGUgc3RlcDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgK
aW5kZXggZmUxOGI2Yi4uZjgzYTVlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlkYXRp
b25NZXNzYWdlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKQEAgLTMy
LDcgKzMyLDYgQEAKICNkZWZpbmUgVmFsaWRhdGlvbk1lc3NhZ2VfaAogCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQwLDcgKzM5LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OwogCi1j
bGFzcyBWYWxpZGF0aW9uTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxp
ZGF0aW9uTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRhdGlvbk1lc3Nh
Z2UpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkYXRpb25NZXNzYWdlPiBj
cmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCopOwogICAgIH5WYWxpZGF0aW9uTWVzc2FnZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1dlYkNvcmUvaHRt
bC9WYWxpZGl0eVN0YXRlLmgKaW5kZXggNTMyZGRiMi4uMjJhNDhiOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVmFs
aWRpdHlTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxpZGl0eVN0YXRlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGl0eVN0YXRlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBj
cmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGEyNWU4YTEuLjE0ZjVh
MGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBA
IC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQw
LDggQEAgY2xhc3MgSFRNTFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9i
amVjdDsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDYW52YXNSZW5kZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50Kik7CiAg
ICAgdmlydHVhbCB+Q2FudmFzUmVuZGVyaW5nQ29udGV4dCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9DU1NQcmVsb2FkU2Nhbm5lci5oCmluZGV4IDdhYzI4MmYuLmZhZTk1YTEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENT
U1ByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1ByZWxvYWRT
Y2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBw
dWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCmluZGV4IDhiMDliZjUuLmZmNjE4NmQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAorKysg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlICJIVE1MRWxlbWVudFN0YWNrLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1h
dHRpbmdFbGVtZW50TGlzdC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgQXRvbWljSFRNTFRv
a2VuOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBIVE1MQ29uc3Ry
dWN0aW9uU2l0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MQ29uc3RydWN0aW9u
U2l0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTENvbnN0cnVjdGlvblNpdGUpOwog
cHVibGljOgogICAgIEhUTUxDb25zdHJ1Y3Rpb25TaXRlKERvY3VtZW50KiwgRnJhZ21lbnRTY3Jp
cHRpbmdQZXJtaXNzaW9uLCBib29sIGlzUGFyc2luZ0ZyYWdtZW50KTsKICAgICB+SFRNTENvbnN0
cnVjdGlvblNpdGUoKTsKQEAgLTg5LDcgKzg5LDggQEAgcHVibGljOgogICAgIEhUTUxGb3JtRWxl
bWVudCogZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybS5nZXQoKTsgfQogICAgIFBhc3NSZWZQ
dHI8SFRNTEZvcm1FbGVtZW50PiB0YWtlRm9ybSgpOwogCi0gICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWRpcmVj
dFRvRm9zdGVyUGFyZW50R3VhcmQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWRp
cmVjdFRvRm9zdGVyUGFyZW50R3VhcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKEhUTUxDb25zdHJ1Y3Rpb25TaXRlJiB0cmVlKQogICAgICAgICAg
ICAgOiBtX3RyZWUodHJlZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERv
Y3VtZW50UGFyc2VyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5o
CmluZGV4IDA1MDUzZGYuLmMyMDFjM2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTERvY3VtZW50UGFyc2VyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1l
bnRQYXJzZXIuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBTY3JpcHRDb250cm9sbGVyOwogY2xh
c3MgU2NyaXB0U291cmNlQ29kZTsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyIDogIHB1Ymxp
YyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIEhUTUxTY3JpcHRSdW5uZXJIb3N0LCBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShIVE1MRG9jdW1l
bnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycykKICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTEVsZW1lbnRTdGFjay5oCmluZGV4IDhhOGUxNjAuLjkzNmQ0MTEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCisrKyBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIEhUTUxF
bGVtZW50U3RhY2tfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zOSwxMiArMzgsMTQgQEAg
Y2xhc3MgUXVhbGlmaWVkTmFtZTsKIAogLy8gTk9URTogVGhlIEhUTUw1IHNwZWMgdXNlcyBhIGJh
Y2t3YXJkcyAoZ3Jvd3MgZG93bndhcmQpIHN0YWNrLiAgV2UncmUgdXNpbmcKIC8vIG1vcmUgc3Rh
bmRhcmQgKGdyb3dzIHVwd2FyZHMpIHN0YWNrIHRlcm1pbm9sb2d5IGhlcmUuCi1jbGFzcyBIVE1M
RWxlbWVudFN0YWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxFbGVtZW50U3Rh
Y2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxFbGVtZW50U3RhY2spOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAgICB+
SFRNTEVsZW1lbnRTdGFjaygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVsZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgfkVsZW1l
bnRSZWNvcmQoKTsgLy8gUHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1YmIu
LmY3NWZhNTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVs
ZW1lbnQ7CiAKIC8vIFRoaXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNr
LgotY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0
dGluZ0VsZW1lbnRMaXN0KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9mIHRo
ZSBhZnRlckluc2VydGlvblBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRhdGEg
YXQgdGhlIGVuZCBvZiB0aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0gdG8g
dGhlICJsYXN0IiBzdHJpbmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShIVE1MSW5wdXRTdHJlYW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAgICAg
ICAgIDogbV9sYXN0KCZtX2ZpcnN0KQpAQCAtMTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAgICAg
U2VnbWVudGVkU3RyaW5nKiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJlY29y
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGljOgog
ICAgIGV4cGxpY2l0IEluc2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRT
dHJlYW0pCiAgICAgICAgIDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDViZTMzYjAuLmE0Yjc0NjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBi
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgs
MTQgQEAKIAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAK
LWNsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxQYXJzZXJTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJz
ZXJTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEhUTUxQYXJzZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJz
ZXIqIHBhcnNlcikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
cmVsb2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIu
aAppbmRleCA5NGE5MGU2Li44NjA0NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nhbm5l
ci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXplcjsK
IGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIAotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBIVE1MUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAppbmRleCA2Y2Y3NGQ4Li4xYjdmOTFmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00
Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgSFRNTFNjcmlwdFJ1bm5lckhvc3Q7CiBj
bGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCi1jbGFzcyBIVE1MU2NyaXB0UnVubmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxTY3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1
bWVudCogZG9jdW1lbnQsIEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUb2tlbi5oCmluZGV4IDQyY2RkYjguLjhlY2Q4ZGQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VG9rZW4uaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNs
dWRlICJOYW1lZE5vZGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAg
IFVuaW5pdGlhbGl6ZWQsCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3YW50
IHRvIGVuZCB1cCB3aXRoIGEgY2xlYW5lciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNsYXNz
ZXMuCiAgICAgZnJpZW5kIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERvY3R5
cGVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIERvY3R5cGVEYXRhKCkKICAgICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlmaWVy
KGZhbHNlKQpAQCAtMzUyLDcgKzM1Myw4IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlzIGNs
YXNzIHNob3VsZCBldmVudHVhbGx5IGJlIG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUgdGhl
CiAvLyBleGl0aW5nIEhUTUxUb2tlbiB0byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2VuaXpl
ci4KLWNsYXNzIEF0b21pY0hUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBB
dG9taWNIVE1MVG9rZW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxUb2tl
bik7CiBwdWJsaWM6CiAgICAgQXRvbWljSFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAg
ICAgIDogbV90eXBlKHRva2VuLnR5cGUoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuaXplci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgK
aW5kZXggZjE2YjA0OS4uZDU3NzlmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW5pemVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgK
QEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSFRNTFRva2VuaXplcl9oCiAKICNpbmNsdWRlICJT
ZWdtZW50ZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgRWxlbWVudDsK
IGNsYXNzIEZyYW1lOwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9rZW5pemVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhUTUxUb2tlbml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIGVudW0gU3RhdGUgewogICAgICAgICBEYXRhU3RhdGUsCkBAIC0xNzIsNyArMTcy
LDggQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9z
cGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3ByZXByb2Nlc3NpbmctdGhlLWlucHV0LXN0cmVh
bQotICAgIGNsYXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKElucHV0U3RyZWFtUHJlcHJvY2Vzc29yKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yKEhUTUxUb2tlbml6ZXIqIHRva2VuaXplcikKICAg
ICAgICAgICAgIDogbV90b2tlbml6ZXIodG9rZW5pemVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VHJlZUJ1aWxkZXIuY3BwCmluZGV4IDNkMzkxMzEuLjA0MzFjZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTI0MCw3ICsyNDAsOCBAQCBIVE1MRm9ybUVsZW1l
bnQqIGNsb3Nlc3RGb3JtQW5jZXN0b3IoRWxlbWVudCogZWxlbWVudCkKIAogfSAvLyBuYW1lc3Bh
Y2UKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxD
aGFyYWN0ZXJUb2tlbkJ1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXh0ZXJuYWxD
aGFyYWN0ZXJUb2tlbkJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgRXh0ZXJuYWxDaGFy
YWN0ZXJUb2tlbkJ1ZmZlcihBdG9taWNIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fY3Vy
cmVudCh0b2tlbi5jaGFyYWN0ZXJzKCkuZGF0YSgpKQpAQCAtMjMzNCw3ICsyMzM1LDggQEAgdm9p
ZCBIVE1MVHJlZUJ1aWxkZXI6OnJlcHJvY2Vzc0VuZFRhZyhBdG9taWNIVE1MVG9rZW4mIHRva2Vu
KQogICAgIHByb2Nlc3NFbmRUYWcodG9rZW4pOwogfQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6
OkZha2VJbnNlcnRpb25Nb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVl
QnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZh
a2VJbnNlcnRpb25Nb2RlKTsKIHB1YmxpYzoKICAgICBGYWtlSW5zZXJ0aW9uTW9kZShIVE1MVHJl
ZUJ1aWxkZXIqIHRyZWVCdWlsZGVyLCBJbnNlcnRpb25Nb2RlIG1vZGUpCiAgICAgICAgIDogbV90
cmVlQnVpbGRlcih0cmVlQnVpbGRlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5o
CmluZGV4IDBlNzU5N2MuLjk2OWM3YTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxk
ZXIuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaCIKICNpbmNsdWRlICJIVE1MVG9rZW5pemVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4
dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRN
TERvY3VtZW50OwogY2xhc3MgTm9kZTsKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSFRNTFRyZWVCdWlsZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MVG9r
ZW5pemVyKiB0b2tlbml6ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJy
b3JzLCBib29sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwMyw3ICsyMDMs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlN
b2RlQW5kUmVzZXRNb2RlKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRG
b3JlaWduSW5zZXJ0aW9uTW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQp
OwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAg
ICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250
ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBA
IC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xl
dmVsSW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVs
SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1
bnNpZ25lZCYgbmVzdGluZ0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5n
TGV2ZWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCA0ZTg4YmVjLi45MDJlZGMz
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3Mg
U2NyaXB0Q2FsbEZyYW1lOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFs
dWU7CiAKLWNsYXNzIENvbnNvbGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IENvbnNvbGVNZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2Fn
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
LCB1bnNpZ25lZCBsaSwgY29uc3QgU3RyaW5nJiB1LCB1bnNpZ25lZCBnKTsKICAgICBDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG0sIFBhc3NPd25QdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc093blB0cjxTY3JpcHRD
YWxsU3RhY2s+LCB1bnNpZ25lZCBnKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCmluZGV4
IGY4MGNmYjQuLmZmOGQzOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtMzQs
NyArMzQsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIlNj
cmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuaAppbmRleCAxMWYxMGNlLi43YjNlOTJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtMjgsNyArMjgsNiBA
QAogI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpCiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3Mg
SW5zcGVjdG9yVmFsdWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBJbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnNwZWN0b3JDb250
cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyLCBJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQp
OwogICAgIH5JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoKSB7IH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBjYTVhOWQ5Li5mOWMxMDQwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0xMDEsNyArMTAxLDggQEAgY2xh
c3MgV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdDsKIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJl
c3BvbnNlOwogI2VuZGlmCiAKLWNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRhdGFiYXNl
UmVzb3VyY2U+ID4gRGF0YWJhc2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPGlu
dCwgUmVmUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01TdG9yYWdlUmVzb3Vy
Y2VzTWFwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4
IGFkYzkyNWEuLmNjOGQ0ZjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmgKQEAgLTUyLDcgKzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAgICAg
TmF0aXZlQnJlYWtwb2ludERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVn
TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3du
UHRyPEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKiwg
SW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
LmgKaW5kZXggOWRjYWE1YS4uNGFhODdlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQxLDcgKzQwLDggQEAgY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3Rv
ckZyb250ZW5kSG9zdDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwgOiBwdWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKEluc3BlY3RvckNvbnRyb2xsZXIqLCBQYWdl
Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCmluZGV4IGU2Nzg0OGQuLmMyOThh
ZGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQu
aAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00Nyw3ICs0Niw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIFNjcmlw
dEhlYXBTbmFwc2hvdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKLWNsYXNzIEluc3BlY3RvclBy
b2ZpbGVyQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqKTsK
ICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4uYTZiYTNkNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyArNzAsOCBA
QCBlbnVtIFRpbWVsaW5lUmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3RU
aW1lbGluZVJlY29yZFR5cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zcGVjdG9yRnJv
bnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggYi9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suaAppbmRleCA1NGM2YmJhLi4xMzFlMTMxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaAorKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIFNjcmlw
dENhbGxTdGFja19oCiAKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yQXJyYXk7CiAKLWNsYXNzIFNjcmlwdENhbGxTdGFj
ayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2sgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhbGxTdGFjayk7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IGNvbnN0IHNpemVfdCBtYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlID0gMjAwOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmggYi9X
ZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKaW5kZXggMTAx
NmFlZC4uNWQ4NDliZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxp
Z2h0UmVzdWx0Q2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgSFRUUEhlYWRlck1hcDsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0g
ICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVt
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZUl0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0oYm9vbCBjcmVkZW50aWFscykK
ICAgICAgICAgICAgIDogbV9hYnNvbHV0ZUV4cGlyeVRpbWUoMCkKQEAgLTYzLDcgKzY0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBIZWFkZXJzU2V0IG1faGVhZGVyczsKICAgICB9
OwogCi0gICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0
Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJlZCgpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUuLjkzZTc0Mzkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisr
KyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC00Nyw2ICs0
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50OwogCiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNv
dW50ZWQ8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIs
IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9j
dW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50V3JpdGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCmlu
ZGV4IDVmYjNkYzEuLmZiOTM2MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
V3JpdGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaApAQCAtMzksNyAr
MzksOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgVGV4dFJl
c291cmNlRGVjb2RlcjsKIAotY2xhc3MgRG9jdW1lbnRXcml0ZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRG9jdW1lbnRXcml0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERv
Y3VtZW50V3JpdGVyKTsKIHB1YmxpYzoKICAgICBEb2N1bWVudFdyaXRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCmluZGV4IGExNWNlZTUuLjMxMTk1M2EgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCkBAIC0yMTQsOCArMjE0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgRW1w
dHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVM
b2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RnJhbWVMb2FkZXJD
bGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEVtcHR5RnJhbWVM
b2FkZXJDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkg
eyAgfQogICAgIHZpcnR1YWwgdm9pZCBmcmFtZUxvYWRlckRlc3Ryb3llZCgpIHsgfQogCkBAIC0z
ODMsOCArMzg1LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWVOZXR3
b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVybiBQYXNzUmVm
UHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KIH07CiAKLWNsYXNzIEVtcHR5RWRpdG9y
Q2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRW1wdHlFZGl0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlF
ZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpIHsgfQog
CkBAIC00OTYsOCArNTAwLDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9N
RU5VUykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQ29udGV4dE1lbnVD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50
IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShF
bXB0eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBFbXB0eUNvbnRleHRNZW51Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlDb250
ZXh0TWVudUNsaWVudCgpIHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVEZXN0cm95
ZWQoKSB7IH0KIApAQCAtNTE5LDggKzUyNSwxMCBAQCBwdWJsaWM6CiAjZW5kaWYgLy8gRU5BQkxF
KENPTlRFWFRfTUVOVVMpCiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotY2xhc3MgRW1wdHlE
cmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBFbXB0eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRW1wdHlEcmFnQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eURyYWdDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eURyYWdDbGll
bnQoKSB7fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlv
bihEcmFnRGVzdGluYXRpb25BY3Rpb24sIERyYWdEYXRhKikgeyB9CiAgICAgdmlydHVhbCB2b2lk
IHdpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25zdCBJbnRQ
b2ludCYsIENsaXBib2FyZCopIHsgfQpAQCAtNTMyLDggKzU0MCwxMCBAQCBwdWJsaWM6CiB9Owog
I2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKLWNsYXNzIEVtcHR5SW5zcGVjdG9yQ2xp
ZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRW1wdHlJbnNwZWN0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbnNw
ZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJt
aXNzaW9uLmggYi9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCmluZGV4IGQ3MjQ4MzUu
LjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaApAQCAtNDcsNyArNDcsOCBAQCBjbGFz
cyBGb3JtU3VibWlzc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPEZvcm1TdWJtaXNzaW9uPiB7CiBw
dWJsaWM6CiAgICAgZW51bSBNZXRob2QgeyBHZXRNZXRob2QsIFBvc3RNZXRob2QgfTsKIAotICAg
IGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEF0dHJp
YnV0ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdHRyaWJ1dGVzKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIEF0dHJpYnV0ZXMoKQogICAgICAgICAgICAgOiBtX21ldGhvZChHZXRN
ZXRob2QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3NmFkOTc3Li42YTc2M2QwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKQEAgLTg2LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCiBib29s
IGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAotY2xhc3MgRnJhbWVMb2Fk
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlcihG
cmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9hZGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oIGIvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBjMzQwOGMyLi4xZGRmMmVhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKQEAgLTI5LDEzICsyOSwx
MyBAQAogI2lmbmRlZiBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAjZGVmaW5lIEZyYW1lTG9h
ZGVyU3RhdGVNYWNoaW5lX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRlIG1hY2hpbmUgZm9yIEZy
YW1lTG9hZGVyLiBOb3RlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBGcmFtZVN0YXRlLAog
Ly8gd2hpY2ggc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBsb2FkIHRoYXQgRnJhbWVM
b2FkZXIgaXMgZXhlY3V0aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lKTsKIHB1YmxpYzoKICAg
ICBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9IaXN0b3J5Q29udHJvbGxlci5oIGIvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIu
aAppbmRleCAxYmY1MDcyLi40ZmI4NjNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9IaXN0
b3J5Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgK
QEAgLTMyLDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAs
OCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogCi1jbGFzcyBIaXN0b3J5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIaXN0b3J5Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SGlzdG9yeUNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIGVudW0gSGlzdG9yeVVwZGF0ZVR5cGUg
eyBVcGRhdGVBbGwsIFVwZGF0ZUFsbEV4Y2VwdEJhY2tGb3J3YXJkTGlzdCB9OwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5jcHAKaW5kZXggOTRhMjFhNC4uNmE1NGU4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cApAQCAtNTcsNyArNTcsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZUNoZWNrPFdlYkNvcmU6
OkltYWdlTG9hZGVyKj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEltYWdlRXZl
bnRTZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VFdmVudFNlbmRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW1hZ2VFdmVudFNlbmRlcihjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAK
aW5kZXggMjhmZGE5YS4uMjQ5NWIxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxl
ci5jcHAKQEAgLTUxLDcgKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBT
Y2hlZHVsZWROYXZpZ2F0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjaGVkdWxl
ZE5hdmlnYXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZE5hdmlnYXRp
b24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNjaGVkdWxlZE5hdmln
YXRpb24oZG91YmxlIGRlbGF5LCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2Fy
ZExpc3QsIGJvb2wgd2FzRHVyaW5nTG9hZCwgYm9vbCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAg
ICA6IG1fZGVsYXkoZGVsYXkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKaW5kZXgg
MTQwMGMyNS4uZjE0ZDA1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAt
NDcsNyArNDcsOCBAQCBjbGFzcyBGcmFtZTsKIHN0cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogY2xh
c3MgU2NoZWR1bGVkTmF2aWdhdGlvbjsKIAotY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShOYXZpZ2F0aW9uU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBOYXZp
Z2F0aW9uU2NoZWR1bGVyKEZyYW1lKik7CiAgICAgfk5hdmlnYXRpb25TY2hlZHVsZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Bp
bmdMb2FkZXIuaAppbmRleCBlYjQzMTY2Li45MjY4YjI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9QaW5nTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC0z
NCw3ICszNCw2IEBACiAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1
ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiAvLyB0byBhbGxvdyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5v
dWdoIHRvIGVuc3VyZSB0aGUgbWVzc2FnZSB3YXMgYWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9y
ZSwgYXMgc29vbiBhcyBhIGNhbGxiYWNrIGlzIHJlY2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFu
ZGxlLCB0aGlzIGNsYXNzIAogLy8gd2lsbCBjYW5jZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNl
bGYuCi1jbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFu
ZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkSW1hZ2UoRnJh
bWUqLCBjb25zdCBLVVJMJiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIHNlbmRQaW5nKEZyYW1lKiwg
Y29uc3QgS1VSTCYgcGluZ1VSTCwgY29uc3QgS1VSTCYgZGVzdGluYXRpb25VUkwpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIvUG9s
aWN5Q2hlY2tlci5oCmluZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL1BvbGljeUNoZWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2Vy
LmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKIGNsYXNzIFJlc291
cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBQb2xpY3lDaGVja2Vy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBvbGljeUNoZWNrZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBvbGljeUNoZWNrZXIpOwogcHVibGljOgogICAgIFBvbGljeUNoZWNr
ZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
LmNwcCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggY2QxNTQzMy4u
MWJkMTlhNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAor
KysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01MCw3ICs1MCw5IEBA
IHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBp
bml0aWFsUHJvZ3Jlc3NWYWx1ZQogCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzSXRlbURlZmF1
bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKLXN0cnVjdCBQcm9ncmVzc0l0ZW0gOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQcm9ncmVzc0l0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFByb2dyZXNzSXRlbShsb25nIGxvbmcgbGVuZ3RoKSAKICAgICAgICAgOiBieXRlc1JlY2VpdmVk
KDApCiAgICAgICAgICwgZXN0aW1hdGVkTGVuZ3RoKGxlbmd0aCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNz
VHJhY2tlci5oCmluZGV4IDVkNWI2YjIuLjhjNGEwZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL1Byb2dyZXNzVHJhY2tlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tl
ci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFByb2dyZXNzVHJhY2tlcl9oCiAKICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzYsNyArMzUsOCBA
QCBjbGFzcyBGcmFtZTsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBzdHJ1Y3QgUHJvZ3Jlc3NJ
dGVtOwogCi1jbGFzcyBQcm9ncmVzc1RyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUHJvZ3Jlc3NUcmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc1Ry
YWNrZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb2dyZXNzVHJh
Y2tlcigpOwogICAgIH5Qcm9ncmVzc1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaCBiL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAppbmRleCBiNmRlMzEyLi45
NmY3YjFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvUmVxdWVzdC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRl
cjsKIAotICAgIGNsYXNzIFJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFJlcXVlc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXF1ZXN0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFJlcXVlc3QoQ2FjaGVkUmVz
b3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwsIFNlY3VyaXR5
Q2hlY2tQb2xpY3ksIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyk7CiAgICAgICAgIH5S
ZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmll
ci5oIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAppbmRleCAyZjEwODU2
Li4yNzA0MDZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmll
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpZm5kZWYgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogI2RlZmluZSBSZXNvdXJj
ZUxvYWROb3RpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0Miw4IEBAIGNsYXNzIFJlc291cmNlTG9hZGVyOwog
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIAotY2xhc3Mg
UmVzb3VyY2VMb2FkTm90aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3Vy
Y2VMb2FkTm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlTG9hZE5v
dGlmaWVyKTsKIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWROb3RpZmllcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBiL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCmluZGV4IDg0Zjg4NDUuLjI5Yzc0ZGQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMs
NyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRl
cjsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50OwogCi1jbGFzcyBSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWRTY2hlZHVsZXIpOwog
cHVibGljOgogICAgIGZyaWVuZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNj
aGVkdWxlcigpOwogCkBAIC02Niw3ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVs
ZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1l
cjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Kik7CiAKLSAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24g
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RJbmZvcm1hdGlvbik7CiAgICAgcHVibGljOgog
ICAgICAgICBIb3N0SW5mb3JtYXRpb24oY29uc3QgU3RyaW5nJiwgdW5zaWduZWQpOwogICAgICAg
ICB+SG9zdEluZm9ybWF0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFt
ZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRleCBhNTczMDQ1
Li5kMTFkOWI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCisr
KyBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU0LDcgKzUzLDgg
QEAgY2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdldDsKIAogLy8gVGhpcyBpcyBhIHNsaWdodCBtaXNu
b21lci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljIG9mIGxvYWRpbmcgYm90aCBz
dWJmcmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFzcyBTdWJmcmFtZUxvYWRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3ViZnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIFN1YmZyYW1lTG9hZGVyKEZyYW1lKik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNv
cmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBmNDFhNzc0Li5iYzFhM2JhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFRocmVh
ZGFibGVMb2FkZXJfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyX2gKIAotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFk
IChub3QgdGhyZWFkc2FmZSwgCiAgICAgLy8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90
aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3Qg
VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKQEAgLTc1LDYgKzc1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2FkZXIoKTsg
fQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAg
ICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lk
IHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRo
cmVhZGFibGVMb2FkZXIoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LmgKaW5kZXggYmNmNjhiZS4uOGU1Mjc0MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXJDbGllbnQuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJD
bGllbnRfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKIAotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBSZXNv
dXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFk
YWJsZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIC8qYnl0
ZXNTZW50Ki8sIHVuc2lnbmVkIGxvbmcgbG9uZyAvKnRvdGFsQnl0ZXNUb0JlU2VudCovKSB7IH0K
IApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DYW5jZWxsYXRpb24oY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYpIHsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXJDbGllbnQoKSB7
IH0KICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
Q2xpZW50V3JhcHBlci5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdy
YXBwZXIuaAppbmRleCBkM2MxYTlmLi5kNGZlYWNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUg
VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXJfaAogCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggODFkYTJlMC4uZTg5MTNlMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaApAQCAtNTQsNiArNTQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0
YTsKIAogICAgIGNsYXNzIFdvcmtlclRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVhZGFi
bGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlv
bnMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
R3JvdXAuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5o
CmluZGV4IDI5ZDA3NDkuLmQwZGYxMGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAtNTMsNyArNTIsOCBAQCBlbnVtIEFwcGxpY2F0aW9uQ2Fj
aGVVcGRhdGVPcHRpb24gewogICAgIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJvd3Np
bmdDb250ZXh0CiB9OwogCi1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9u
Y29weWFibGUsIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cCA6IFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
cHBsaWNhdGlvbkNhY2hlR3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIEFwcGxpY2F0aW9uQ2FjaGVHcm91cChjb25zdCBLVVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBp
c0NvcHkgPSBmYWxzZSk7ICAgIAogICAgIH5BcHBsaWNhdGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCmluZGV4IDhhYzUz
NTcuLjY1YzNhOGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVIb3N0LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUhvc3QuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xh
c3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIEFwcGxpY2F0
aW9uQ2FjaGVIb3N0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBcHBsaWNhdGlv
bkNhY2hlSG9zdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2Fj
aGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8v
IFRoZSBTdGF0dXMgbnVtZXJpYyB2YWx1ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgSFRNTDUgc3Bl
Yy4KICAgICAgICAgZW51bSBTdGF0dXMgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKaW5kZXggN2RiMzRlNi4uMDBiMjljODUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgK
KysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaApA
QCAtNDQsNyArNDQsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJu
YWw7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3Jh
Z2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEZhaWx1cmVSZWFzb24gewog
ICAgICAgICBPcmlnaW5RdW90YVJlYWNoZWQsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9h
cmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCBiL1dlYkNvcmUvbG9hZGVyL2FyY2hp
dmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCmluZGV4IDlkNjMwZDEuLjY2ZmI5YTggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlv
bi5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlv
bi5oCkBAIC0zOSw3ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcmNo
aXZlUmVzb3VyY2VDb2xsZWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcmNoaXZl
UmVzb3VyY2VDb2xsZWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5oCmluZGV4IGVkNjBmODQuLjBiYmQ1OWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBSZXF1ZXN0OwogLy8gQSByZXNv
dXJjZSB0aGF0IGlzIGhlbGQgaW4gdGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRvIHVzZSB0
aGlzIG9iamVjdCBzaG91bGQgZGVyaXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50LCB0
byBnZXQgdGhlIGZ1bmN0aW9uIGNhbGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRhIGhhcyBh
cnJpdmVkLgogLy8gVGhpcyBjbGFzcyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5pY2F0aW9u
IHdpdGggdGhlIGxvYWRlciB0byBvYnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5ldHdvcmsu
Ci1jbGFzcyBDYWNoZWRSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNo
ZWRSZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAg
ICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2U7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAppbmRleCAyNzVkMzMxLi5mNjAyMWY0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKQEAgLTI1LDcgKzI1
LDYgQEAKICNpZm5kZWYgQ2FjaGVkUmVzb3VyY2VDbGllbnRfaAogI2RlZmluZSBDYWNoZWRSZXNv
dXJjZUNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAqIGluaGVyaXQgZnJvbSB0aGlzIGNsYXNzIGFuZCBv
dmVybG9hZCBvbmUgb2YgdGhlIDMgZnVuY3Rpb25zCiAgICAgICoKICAgICAgKi8KLSAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlCi0gICAgeworICAg
IGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNhY2hlZFJlc291cmNlQ2xpZW50
KCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmlu
ZGV4IGYzNzFhMGUuLjczNDlhMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBJbWFnZUxvYWRlcjsKIGNsYXNz
IEtVUkw7CiAKIC8vIFRoZSBDYWNoZWRSZXNvdXJjZUxvYWRlciBtYW5hZ2VzIHRoZSBsb2FkaW5n
IG9mIHNjcmlwdHMvaW1hZ2VzL3N0eWxlc2hlZXRzIGZvciBhIHNpbmdsZSBkb2N1bWVudC4KLWNs
YXNzIENhY2hlZFJlc291cmNlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENh
Y2hlZFJlc291cmNlTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNv
dXJjZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBmcmllbmQgY2xhc3MgTWVtb3J5
Q2FjaGU7CiBmcmllbmQgY2xhc3MgSW1hZ2VMb2FkZXI7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5oCmluZGV4IDE1Y2U5ZGEuLmVhNDkyMWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2Fj
aGUuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgImxvYWRlci5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgogCkBAIC03MSw3ICs3MCw4IEBAIGNsYXNzIEtVUkw7CiAvLyBpdHMgbWVt
YmVyIHZhcmlhYmxlcykgYXJlIGFsbG9jYXRlZCBpbiBub24tcHVyZ2VhYmxlIFRDLW1hbGxvYydk
IG1lbW9yeSBzbyB3ZSB3b3VsZCBzZWUgc2xpZ2h0bHkKIC8vIG1vcmUgbWVtb3J5IHVzZSBkdWUg
dG8gdGhpcy4KIAotY2xhc3MgTWVtb3J5Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgTWVtb3J5Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lbW9yeUNhY2hlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBmcmllbmQgTWVtb3J5Q2FjaGUq
IGNhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNl
LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCmluZGV4IDYxNDZhYTYuLmFj
MGE1N2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaApAQCAtMzAsNyArMzAsNiBAQAog
I2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTYyLDgg
KzYxLDggQEAgZW51bSBJY29uTG9hZERlY2lzaW9uIHsKICAgICBJY29uTG9hZFVua25vd24KIH07
CiAKLWNsYXNzIEljb25EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci0KK2NsYXNzIElj
b25EYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIC8vICoqKiBNYWluIFRocmVhZCBPbmx5ICoqKgogcHVibGlj
OgogICAgIHZvaWQgc2V0Q2xpZW50KEljb25EYXRhYmFzZUNsaWVudCopOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKaW5kZXggYzIxMGQ3ZC4uOTFmYWM2YiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCkBAIC0zMCwxNSArMzAsMTYgQEAK
ICNkZWZpbmUgSWNvbkRhdGFiYXNlQ2xpZW50X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIEFsbCBvZiB0aGVzZSBjbGllbnQg
bWV0aG9kcyB3aWxsIGJlIGNhbGxlZCBmcm9tIGEgbm9uLW1haW4gdGhyZWFkCiAvLyBUYWtlIGFw
cHJvcHJpYXRlIG1lYXN1cmVzCiAgCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEljb25E
YXRhYmFzZUNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJY29uRGF0YWJhc2VD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZUNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgSWNvbkRhdGFiYXNlQ2xpZW50KCkg
eyB9CiAgICAgdmlydHVhbCB+SWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCBi
b29sIHBlcmZvcm1JbXBvcnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoRGlkUmVtb3ZlQWxsSWNvbnMoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKaW5k
ZXggMWViYWM0OC4uZDIyMjg5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
TG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3LDcgKzM2LDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBLVVJMOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1jbGFzcyBJ
Y29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJY29uTG9hZGVyPiBj
cmVhdGUoRnJhbWUqKTsKICAgICB+SWNvbkxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmggYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxS
ZWNvcmQuaAppbmRleCBmN2NjYjhmLi40YjljZTM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9pY29uL1BhZ2VVUkxSZWNvcmQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxS
ZWNvcmQuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEsNyArNTAsOCBAQCBwdWJsaWM6CiAgICAgU3Ry
aW5nIGljb25VUkw7CiB9OwogCi1jbGFzcyBQYWdlVVJMUmVjb3JkIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFBhZ2VVUkxSZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBh
Z2VVUkxSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFBhZ2VV
UkxSZWNvcmQoY29uc3QgU3RyaW5nJiBwYWdlVVJMKTsKICAgICB+UGFnZVVSTFJlY29yZCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9sb2Fk
ZXIuaAppbmRleCA4MThmNTZmLi4yMzIwNDM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9s
b2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9sb2FkZXIuaApAQCAtMjYsNyArMjYsNiBAQAog
I2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2Fk
ZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMzUsOCArMzQsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENhY2hl
ZFJlc291cmNlTG9hZGVyOwogICAgIGNsYXNzIFJlcXVlc3Q7CiAKLSAgICBjbGFzcyBMb2FkZXIg
OiBwdWJsaWMgTm9uY29weWFibGUsIHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgewor
ICAgIGNsYXNzIExvYWRlciA6IFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTG9hZGVyKTsKICAgICBwdWJsaWM6CisgICAgICAgIExvYWRlcigp
IHsgfQogICAgICAgICB+TG9hZGVyKCk7CiAKICAgICAgICAgdm9pZCBsb2FkKENhY2hlZFJlc291
cmNlTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsID0gdHJ1ZSwgU2Vj
dXJpdHlDaGVja1BvbGljeSA9IERvU2VjdXJpdHlDaGVjaywgYm9vbCBzZW5kUmVzb3VyY2VMb2Fk
Q2FsbGJhY2tzID0gdHJ1ZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmggYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXgg
ZjE0YTMwMi4uMzExMDEwOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5oCisrKyBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAt
NTksNiArNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4
dDsKIAogICAgIGNsYXNzIE5vdGlmaWNhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNh
dGlvbj4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LCBwdWJsaWMgRXZlbnRUYXJnZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBj
cmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBF
eGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVy
KTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3Qg
Tm90aWZpY2F0aW9uQ29udGVudHMmIGNvbnRlbnRzLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+
IHByb3ZpZGVyKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xs
ZXIuaCBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAppbmRleCA4MzNiOTA5
Li5iNTg1NGIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmgKKysrIGIvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCkBAIC0yNiw3ICsy
Niw2IEBACiAjaWZuZGVmIENvbnRleHRNZW51Q29udHJvbGxlcl9oCiAjZGVmaW5lIENvbnRleHRN
ZW51Q29udHJvbGxlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBFdmVudDsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRy
b2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudUNvbnRyb2xs
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4
dE1lbnVDb250cm9sbGVyKFBhZ2UqLCBDb250ZXh0TWVudUNsaWVudCopOwogICAgICAgICB+Q29u
dGV4dE1lbnVDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRy
b2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDBlOTBhNTIuLmM1
OWRhNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBSYW5nZTsKICAgICBjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVy
OwogICAgIAotICAgIGNsYXNzIERyYWdDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBEcmFnQ29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERyYWdDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIERyYWdDb250cm9sbGVyKFBhZ2UqLCBEcmFnQ2xpZW50Kik7CiAgICAgICAgIH5EcmFn
Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGNhMTlhMGMuLjk0MGMyNWUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmgKQEAgLTgwLDcgKzgwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBHZW5lcmFsRHJh
Z0h5c3RlcmVzaXM7CiAKIGVudW0gSGl0VGVzdFNjcm9sbGJhcnMgeyBTaG91bGRIaXRUZXN0U2Ny
b2xsYmFycywgRG9udEhpdFRlc3RTY3JvbGxiYXJzIH07CiAKLWNsYXNzIEV2ZW50SGFuZGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFdmVudEhhbmRsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlcik7CiBwdWJsaWM6CiAgICAgRXZlbnRIYW5kbGVyKEZy
YW1lKik7CiAgICAgfkV2ZW50SGFuZGxlcigpOwpAQCAtMjIyLDcgKzIyMywxMCBAQCBwcml2YXRl
OgogICAgICAgICBQZXJmb3JtRHJhZ0FuZERyb3AKICAgICB9OwogCi0gICAgc3RydWN0IEV2ZW50
SGFuZGxlckRyYWdTdGF0ZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVy
RHJhZ1N0YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRIYW5kbGVyRHJh
Z1N0YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CisgICAgICAgIEV2
ZW50SGFuZGxlckRyYWdTdGF0ZSgpIHsgfQogICAgICAgICBSZWZQdHI8Tm9kZT4gbV9kcmFnU3Jj
OyAvLyBlbGVtZW50IHRoYXQgbWF5IGJlIGEgZHJhZyBzb3VyY2UsIGZvciB0aGUgY3VycmVudCBt
b3VzZSBnZXN0dXJlCiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNMaW5rOwogICAgICAgICBib29s
IG1fZHJhZ1NyY0lzSW1hZ2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aCBiL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IGZmZWQ1OTIuLjViZWViMmIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiAgICAgY2xhc3MgRXZlbnRTb3VyY2UgOiBwdWJsaWMg
UmVmQ291bnRlZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEV2ZW50U291cmNlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZpcnR1YWwgfkV2ZW50U291cmNl
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmggYi9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKaW5kZXggYmU1MWM3Ny4uMmU4ODk0YSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9u
LmgiCiAjaW5jbHVkZSAiU3BhdGlhbE5hdmlnYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBLZXlib2Fy
ZEV2ZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEZvY3VzQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb2N1c0NvbnRyb2xsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvY3VzQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgRm9jdXNDb250cm9sbGVyKFBhZ2UqKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCmluZGV4
IDk0YjhkMTYuLmJhYzU0NzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAor
KysgYi9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKQEAgLTI2LDcgKzI2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgY2xhc3MgRnJhbWU7CiAKLSAgICBjbGFzcyBGcmFtZVRyZWUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYW1lVHJlZSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZyYW1lVHJlZSk7CiAgICAgcHVibGljOgogICAgICAgICBGcmFtZVRy
ZWUoRnJhbWUqIHRoaXNGcmFtZSwgRnJhbWUqIHBhcmVudEZyYW1lKSAKICAgICAgICAgICAgIDog
bV90aGlzRnJhbWUodGhpc0ZyYW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA3NzAyMjViLi5jYTg2MWQ2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcApAQCAtMTA2LDcgKzEwNiwxMCBAQCBkb3VibGUgRnJhbWVWaWV3Ojpz
X2RlZmVycmVkUmVwYWludERlbGF5SW5jcmVtZW50RHVyaW5nTG9hZGluZyA9IDA7CiAvLyBUaGUg
bWF4aW11bSBudW1iZXIgb2YgdXBkYXRlV2lkZ2V0cyBpdGVyYXRpb25zIHRoYXQgc2hvdWxkIGJl
IGRvbmUgYmVmb3JlIHJldHVybmluZy4KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhVcGRhdGVX
aWRnZXRzSXRlcmF0aW9ucyA9IDI7CiAKLXN0cnVjdCBTY2hlZHVsZWRFdmVudCA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBTY2hlZHVsZWRFdmVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U2NoZWR1bGVkRXZlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgorICAgIFNj
aGVkdWxlZEV2ZW50KCkgeyB9CiAgICAgUmVmUHRyPEV2ZW50PiBtX2V2ZW50OwogICAgIFJlZlB0
cjxOb2RlPiBtX2V2ZW50VGFyZ2V0OwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9HZW9s
b2NhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIu
aAppbmRleCAyZDgxMDZkLi4xNmM3ZWM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvR2VvbG9j
YXRpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxl
ci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBA
IGNsYXNzIEdlb2xvY2F0aW9uRXJyb3I7CiBjbGFzcyBHZW9sb2NhdGlvblBvc2l0aW9uOwogY2xh
c3MgUGFnZTsKIAotY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR2VvbG9jYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBHZW9sb2NhdGlvbkNv
bnRyb2xsZXIoUGFnZSosIEdlb2xvY2F0aW9uQ2xpZW50Kik7CiAgICAgfkdlb2xvY2F0aW9uQ29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaCBiL1dl
YkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKaW5kZXggZmI2ZjZiNS4uOGE1NTM1OSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaAorKysgYi9XZWJDb3JlL3BhZ2UvR3Jv
dXBTZXR0aW5ncy5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgUGFnZUdyb3VwOwogCi1jbGFzcyBHcm91cFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEdyb3VwU2V0dGluZ3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyb3Vw
U2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1BhZ2UuaCBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggZTA3NDgxNC4uNmE2
OGE1YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAi
U2NoZWR1bGVQYWlyLmgiCkBAIC04OSwxMiArODgsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgZW51bSBGaW5kRGlyZWN0aW9uIHsgRmluZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJl
Y3Rpb25CYWNrd2FyZCB9OwogCi0gICAgY2xhc3MgUGFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGFnZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRTdHlsZVJlY2Fs
Y0ZvckFsbFBhZ2VzKCk7CiAKICAgICAgICAgLy8gSXQgaXMgdXAgdG8gdGhlIHBsYXRmb3JtIHRv
IGVuc3VyZSB0aGF0IG5vbi1udWxsIGNsaWVudHMgYXJlIHByb3ZpZGVkIHdoZXJlIHJlcXVpcmVk
LgotICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0
cnVjdCBQYWdlQ2xpZW50cyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
Q2xpZW50cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAg
ICAgICAgIFBhZ2VDbGllbnRzKCk7CiAgICAgICAgICAgICB+UGFnZUNsaWVudHMoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cC5oCmluZGV4IGNjNDdmYmEuLjE0ZGI0OTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdl
R3JvdXAuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKQEAgLTI3LDcgKzI3LDYgQEAK
ICNkZWZpbmUgUGFnZUdyb3VwX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiTGlua0hhc2guaCIKICNpbmNsdWRlICJV
c2VyU2NyaXB0LmgiCiAjaW5jbHVkZSAiVXNlclN0eWxlU2hlZXQuaCIKQEAgLTQxLDcgKzQwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgU3RvcmFn
ZU5hbWVzcGFjZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGFnZUdyb3VwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFn
ZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBh
Z2VHcm91cChjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgICAgICBQYWdlR3JvdXAoUGFnZSopOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oIGIvV2ViQ29y
ZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmluZGV4IGQ0NDNlYmQuLmY3OTU2YzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAorKysgYi9XZWJD
b3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKQEAgLTI4LDcgKzI4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBj
bGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBhZ2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3JvdXBM
b2FkRGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxmKTsKICAgICAgICAgflBhZ2VHcm91cExv
YWREZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oIGIv
V2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4IGFmOGIzMWUuLjViNzA3MjMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGx1
Z2luSGFsdGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBIYWx0YWJsZVBsdWdpbjsKIAotY2xhc3MgUGx1Z2luSGFsdGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFBsdWdpbkhhbHRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1
Z2luSGFsdGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQbHVnaW5I
YWx0ZXIoUGx1Z2luSGFsdGVyQ2xpZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggYzY1M2FkZC4uOTc5OGU5
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAotICAgIGNsYXNz
IFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTZXR0aW5ncyB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmggYi9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQu
aAppbmRleCA0NTMyZDQ5Li44NTNjMGFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU3BlZWNo
SW5wdXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaApAQCAtMzYsNyArMzYsNiBA
QAogI2luY2x1ZGUgIlNwZWVjaElucHV0TGlzdGVuZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBTcGVl
Y2hJbnB1dExpc3RlbmVyOwogLy8gVGhpcyBjbGFzcyBjb25uZWN0cyB0aGUgaW5wdXQgZWxlbWVu
dHMgcmVxdWlyaW5nIHNwZWVjaCBpbnB1dCB3aXRoIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYwogLy8g
c3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZS4gSXQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgdGhlIGlu
cHV0IGVsZW1lbnRzIHRvIGFjdGl2YXRlIHNwZWVjaAogLy8gcmVjb2duaXRpb24gYW5kIG1ldGhv
ZHMgZm9yIHRoZSBzcGVlY2ggcmVjb2duaXRpb24gZW5naW5lIHRvIHJldHVybiBiYWNrIHRoZSBy
ZXN1bHRzLgotY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBT
cGVlY2hJbnB1dExpc3RlbmVyIHsKK2NsYXNzIFNwZWVjaElucHV0IDogcHVibGljIFNwZWVjaElu
cHV0TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwZWVjaElucHV0KTsKIHB1
YmxpYzoKICAgICBTcGVlY2hJbnB1dChTcGVlY2hJbnB1dENsaWVudCopOwogICAgIHZpcnR1YWwg
flNwZWVjaElucHV0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oIGIv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAppbmRleCAwNjUyNDM5Li5jZDNkMGY1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCisrKyBiL1dlYkNvcmUvcGFnZS9Vc2VyU2Ny
aXB0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBV
c2VyU2NyaXB0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTY3JpcHQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTY3JpcHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0
ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaCBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVT
aGVldC5oCmluZGV4IGZhNDJlMmMuLjI0Nzk4NGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9V
c2VyU3R5bGVTaGVldC5oCisrKyBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCkBAIC0z
NSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclN0eWxlU2hl
ZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclN0eWxlU2hlZXQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTdHlsZVNoZWV0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBVc2VyU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29u
c3QgS1VSTCYgdXJsLAogICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmlu
Zz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAppbmRleCAyYjc4MWYxLi40OTA3MWQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
WFNTQXVkaXRvci5oCisrKyBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTY5LDcgKzY5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICogSFRNTERvY3VtZW50UGFyc2VyOjpz
aG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4dGVybmFsIEph
dmFTY3JpcHQgc2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0
IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxlbWVudHMuCiAgICAgLy8KLSAgICBj
bGFzcyBYU1NBdWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYU1NBdWRp
dG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBYU1NBdWRpdG9yKEZyYW1lKik7
CiAgICAgICAgIH5YU1NBdWRpdG9yKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25C
YXNlLmNwcAppbmRleCA2NjE3MmY3Li41MTI2NTBiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQmFzZS5jcHAKQEAgLTIxOSw3ICsyMTksOCBAQCBjbGFzcyBQcm9wZXJ0eVdyYXBw
ZXJCYXNlOwogc3RhdGljIHZvaWQgYWRkU2hvcnRoYW5kUHJvcGVydGllcygpOwogc3RhdGljIFBy
b3BlcnR5V3JhcHBlckJhc2UqIHdyYXBwZXJGb3JQcm9wZXJ0eShpbnQgcHJvcGVydHlJRCk7CiAK
LWNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvcGVydHlX
cmFwcGVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUHJvcGVy
dHlXcmFwcGVyQmFzZShpbnQgcHJvcCkKICAgICAgICAgOiBtX3Byb3AocHJvcCkKQEAgLTQzOCw3
ICs0MzksOCBAQCBwdWJsaWM6CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIEZp
bGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdy
YXBwZXJCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRmlsbExheWVyUHJvcGVydHlX
cmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcik7CiBw
dWJsaWM6CiAgICAgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKFQgKEZpbGxMYXllcjo6
KmdldHRlcikoKSBjb25zdCkKICAgICAgICAgOiBtX2dldHRlcihnZXR0ZXIpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggYi9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKaW5kZXgg
ODkzYzcxNy4uZWE3OGNjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBOb2RlOwog
Y2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLWNsYXNzIEFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlv
bi5oCmluZGV4IDI0OWY0YzMuLjBkMGJiMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
b21wb3NpdGVBbmltYXRpb24uaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkltcGxpY2l0
QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVBbmltYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1dlYkNvcmUvcGFnZS9tYWMv
RXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IDJkYjcxM2YuLmI5OGJjYjIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGFnZS9tYWMv
RXZlbnRIYW5kbGVyTWFjLm1tCkBAIC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2ZW50SGFuZGxl
cjo6Y3VycmVudE5TRXZlbnQoKQogICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNsb3QoKS5nZXQo
KTsKIH0KIAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXJy
ZW50RXZlbnRTY29wZSk7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUoTlNFdmVudCAq
KTsKICAgICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXN5bmNGaWxlU3lzdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5o
CmluZGV4IGQ5NmMxYWQuLmMzNGE2NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5
bmNGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApA
QCAtNDQsNyArNDQsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBB
c3luY0ZpbGVXcml0ZXJDbGllbnQ7CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50
ZXJmYWNlIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4g
IE5vdGUgdGhhdCBhbGwgdGhlIG1ldGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFz
eW5jRmlsZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0
ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+QXN5bmNGaWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCmluZGV4IDI5MGE2NjkuLmNlZThkOTAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAtNDEsOCArNDEs
MTEgQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyOwogc3Ry
dWN0IEZpbGVNZXRhZGF0YTsKIAotY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKTsKIHB1YmxpYzoK
KyAgICBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MoKSB7IH0gICAgCisKICAgICAvLyBDYWxsZWQg
d2hlbiBhIHJlcXVlc3RlZCBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2VlZCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQ
b29sLmgKaW5kZXggZDQ0ZWUxZS4uZDY1NTQzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9BdXRvZHJhaW5lZFBvb2wuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9v
bC5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIEF1dG9kcmFpbmVkUG9vbF9oCiAjZGVmaW5l
IEF1dG9kcmFpbmVkUG9vbF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lm
ZGVmIF9fT0JKQ19fCiBAY2xhc3MgTlNBdXRvcmVsZWFzZVBvb2w7CkBAIC0zOSw3ICszOCw4IEBA
IGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEF1dG9kcmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdXRvZHJhaW5l
ZFBvb2wgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dG9kcmFpbmVkUG9vbCk7CiBwdWJs
aWM6CiAgICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAgIH5B
dXRvZHJhaW5lZFBvb2woKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1l
bnUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAppbmRleCA1MzIxZWQ2Li5kNjY0
OTk5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENv
bnRleHRNZW51X2gKICNkZWZpbmUgQ29udGV4dE1lbnVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpbmNsdWRlICJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJIaXRU
ZXN0UmVzdWx0LmgiCkBAIC00NSw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBDb250ZXh0TWVudUNsaWVudEVmbDsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1l
bnUgOiBwdWJsaWMgTm9uY29weWFibGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0
UmVzdWx0Jik7CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L0NvbnRleHRNZW51SXRlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApp
bmRleCBlNzAyOTIxLi4xMTI2NTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRl
eHRNZW51SXRlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKQEAg
LTI1Miw3ICsyNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQ
bGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb247CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRN
ZW51SXRlbSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgQ29udGV4dE1lbnVJdGVtKFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlvbik7CiAgICAgICAg
IENvbnRleHRNZW51SXRlbShDb250ZXh0TWVudSogc3ViTWVudSA9IDApOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9E
ZXByZWNhdGVkUHRyTGlzdC5oCmluZGV4IDQ3Y2Q1MzguLjFlOTk0OTIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L0RlcHJlY2F0ZWRQdHJMaXN0LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBEZXByZWNh
dGVkUHRyTGlzdF9oCiAKICNpbmNsdWRlICJEZXByZWNhdGVkUHRyTGlzdEltcGwuaCIKLSNpbmNs
dWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBs
YXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yOwogCi10ZW1wbGF0
ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZFB0ckxpc3QoKSA6
IGltcGwoZGVsZXRlRnVuYyksIGRlbF9pdGVtKGZhbHNlKSB7IH0KICAgICB+RGVwcmVjYXRlZFB0
ckxpc3QoKSB7IGltcGwuY2xlYXIoZGVsX2l0ZW0pOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJl
Y2F0ZWRQdHJMaXN0SW1wbC5jcHAKaW5kZXggOTZmZDUxMy4uM2E5OTFmOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcApAQCAtMjksMTIgKzI5LDExIEBACiAj
aW5jbHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUK
LXsKK2NsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGVwcmVjYXRlZExpc3ROb2RlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBEZXByZWNhdGVkTGlzdE5vZGUodm9pZCAqZCkgOiBkYXRhKGQpLCBuZXh0KDApLCBwcmV2KDAp
IHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9FdmVudExvb3AuaAppbmRleCBiMDUwN2Y3Li44ZjY0NzQ4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRXZl
bnRMb29wLmgKQEAgLTI2LDExICsyNiwxMSBAQAogI2lmbmRlZiBFdmVudExvb3BfaAogI2RlZmlu
ZSBFdmVudExvb3BfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEV2ZW50TG9vcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgRXZlbnRMb29wIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZl
bnRMb29wKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEV2ZW50TG9vcCgpCiAgICAgICAgICAgICA6
IG1fZW5kZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9u
U2VydmljZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAppbmRleCAx
NTg1ZjY1Li5kNjBhZTZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9u
U2VydmljZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKQEAg
LTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgR2VvbG9jYXRpb25TZXJ2aWNlX2gKICNkZWZpbmUgR2Vv
bG9jYXRpb25TZXJ2aWNlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1
ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQy
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZW9sb2NhdGlvblNlcnZpY2VFcnJvck9j
Y3VycmVkKEdlb2xvY2F0aW9uU2VydmljZSopID0gMDsKIH07CiAKLWNsYXNzIEdlb2xvY2F0aW9u
U2VydmljZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvblNlcnZpY2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uU2VydmljZSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIEdlb2xvY2F0aW9uU2VydmljZSogY3JlYXRlKEdlb2xvY2F0aW9uU2Vydmlj
ZUNsaWVudCopOwogICAgIHZpcnR1YWwgfkdlb2xvY2F0aW9uU2VydmljZSgpIHsgfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmggYi9XZWJDb3JlL3BsYXRmb3JtL0hv
c3RXaW5kb3cuaAppbmRleCA3ODgyZDQ4Li43OGE0NDVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL0hvc3RXaW5kb3cuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaApA
QCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVmIEhvc3RXaW5kb3dfaAogI2RlZmluZSBIb3N0V2lu
ZG93X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIldpZGdldC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEN1cnNvcjsKIAotY2xhc3MgSG9zdFdp
bmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShIb3N0V2luZG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKKyAgICBIb3N0V2luZG93KCkgeyB9CiAgICAgdmlydHVhbCB+SG9zdFdpbmRvdygpIHsg
fQogCiAgICAgLy8gUmVxdWVzdHMgdGhlIGhvc3QgaW52YWxpZGF0ZSB0aGUgd2luZG93LCBub3Qg
dGhlIGNvbnRlbnRzLiAgSWYgaW1tZWRpYXRlIGlzIHRydWUgZG8gc28gc3luY2hyb25vdXNseSwg
b3RoZXJ3aXNlIGFzeW5jLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCmluZGV4IDhlMjczNTAuLmI4ODNmZjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0tpbGxSaW5nLmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgS2lsbFJpbmcgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0IFN0
cmluZyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggN2RkODc1ZS4uYzQyOWE2OSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIExlbmd0aF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0zNSw3ICszNCw5IEBA
IGNvbnN0IGludCBpbnRNaW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFs
dWUgZm9yIGEgMjgtYml0IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwg
UGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3Ry
dWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBMZW5ndGgoKQogICAgICAgICA6IG1fdmFs
dWUoMCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDdjNTA3MzcuLjQ5NmZiYjMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vUGFzdGVib2FyZC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpA
QCAtODEsNyArODAsOCBAQCBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiBjbGFzcyBBcmNoaXZl
UmVzb3VyY2U7CiAgICAgCi1jbGFzcyBQYXN0ZWJvYXJkIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFBhc3RlYm9hcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhc3RlYm9hcmQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICAvL0hlbHBlciBmdW5jdGlvbnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNoYXJlIGNvZGUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmggYi9XZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IGJjMjhlODQuLjZhMzYz
MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApAQCAtNzUsNyAr
NzUsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVpbnQzMjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFR5cGUgewog
ICAgICAgICAgICAgLy8gS2V5RG93biBpcyBzZW50IGJ5IHBsYXRmb3JtcyBzdWNoIGFzIE1hYyBP
UyBYLCBndGsgYW5kIFF0LCBhbmQgaGFzIGluZm9ybWF0aW9uIGFib3V0IGJvdGggcGh5c2ljYWwg
cHJlc3NlZCBrZXksIGFuZCBpdHMgdHJhbnNsYXRpb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZm
ZXIuaAppbmRleCA5YmRhMmQ1Li40NDEzNmMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L1B1cmdlYWJsZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVy
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBQdXJnZWFibGVCdWZmZXJfaAogCiAjaW5j
bHVkZSAiUHVyZ2VQcmlvcml0eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQdXJnZWFibGVCdWZmZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFBhc3NPd25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBjcmVhdGUoY29uc3QgY2hhciogZGF0
YSwgc2l6ZV90KTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxv
b3BUaW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRleCA2NWYyNTNl
Li5mOGM1MjlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTMwLDE1ICszMCwxNiBAQAog
I2RlZmluZSBSdW5Mb29wVGltZXJfaAogCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2YWxzIGFyZSBhbGwgaW4gc2Vjb25k
cy4KIAotY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSdW5Mb29wVGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29wVGlt
ZXJCYXNlKTsKIHB1YmxpYzoKKyAgICBSdW5Mb29wVGltZXJCYXNlKCkgeyB9CiAgICAgdmlydHVh
bCB+UnVuTG9vcFRpbWVyQmFzZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVs
ZVBhaXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCAwZWZhZjdhLi5iM2Q4ODk2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBjbGFzcyBQ
bGF0Zm9ybU1vdXNlRXZlbnQ7CiBjbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3JvbGxWaWV3Owog
Ci1jbGFzcyBTY3JvbGxiYXJUaGVtZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jv
bGxiYXJUaGVtZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGhlbWUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNjcm9sbGJhclRoZW1lKCkgeyB9
CiAgICAgdmlydHVhbCB+U2Nyb2xsYmFyVGhlbWUoKSB7fTsKIAogICAgIHZpcnR1YWwgYm9vbCBw
YWludChTY3JvbGxiYXIqLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JiAvKmRhbWFn
ZVJlY3QqLykgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
U2hhcmVkVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAppbmRleCA1YjVj
ZDE0Li4xMmRkNmRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCkBAIC0yNiwxNSArMjYsMTYgQEAK
ICNpZm5kZWYgU2hhcmVkVGltZXJfaAogI2RlZmluZSBTaGFyZWRUaW1lcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gRWFj
aCB0aHJlYWQgaGFzIGl0cyBvd24gc2luZ2xlIGluc3RhbmNlIG9mIHNoYXJlZCB0aW1lciwgd2hp
Y2ggaW1wbGVtZW50cyB0aGlzIGludGVyZmFjZS4KICAgICAvLyBUaGlzIGluc3RhbmNlIGlzIHNo
YXJlZCBieSBhbGwgdGltZXJzIGluIHRoZSB0aHJlYWQuCiAgICAgLy8gTm90IGludGVuZGVkIHRv
IGJlIHVzZWQgZGlyZWN0bHk7IHVzZSB0aGUgVGltZXIgY2xhc3MgaW5zdGVhZC4KLSAgICBjbGFz
cyBTaGFyZWRUaW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2hhcmVkVGlt
ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFyZWRUaW1lcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgorICAgICAgICBTaGFyZWRUaW1lcigpIHsgfQog
ICAgICAgICB2aXJ0dWFsIH5TaGFyZWRUaW1lcigpIHt9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBz
ZXRGaXJlZEZ1bmN0aW9uKHZvaWQgKCopKCkpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2Jh
bERhdGEuaAppbmRleCA5ZjU3ZjAwLi5lODQyYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL1RocmVhZEdsb2JhbERhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2Jh
bERhdGEuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogI2lmIEVOQUJMRShXT1JLRVJTKQpAQCAt
NDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IFRFQ0NvbnZlcnRl
cldyYXBwZXI7CiAgICAgY2xhc3MgVGhyZWFkVGltZXJzOwogCi0gICAgY2xhc3MgVGhyZWFkR2xv
YmFsRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkR2xvYmFsRGF0
YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZEdsb2JhbERhdGEpOwogICAg
IHB1YmxpYzoKICAgICAgICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAgICAgICB+VGhyZWFkR2xv
YmFsRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggYWI0MjU5OC4uMzVlZDAxZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaWZuZGVmIFRocmVh
ZFRpbWVyc19oCiAjZGVmaW5lIFRocmVhZFRpbWVyc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIApAQCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGlt
ZXJCYXNlOwogCiAgICAgLy8gQSBjb2xsZWN0aW9uIG9mIHRpbWVycyBwZXIgdGhyZWFkLiBLZXB0
IGluIFRocmVhZEdsb2JhbERhdGEuCi0gICAgY2xhc3MgVGhyZWFkVGltZXJzIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRUaW1lcnMgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRUaW1lcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBjNDQ0M2RhLi4w
ODEwNDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFRpbWVyX2gKICNk
ZWZpbmUgVGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3ICszNCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xhc3Mg
VGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVyQmFzZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBUaW1lckJhc2UoKTsKICAgICB2aXJ0dWFsIH5UaW1lckJhc2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9UcmVlU2hhcmVkLmgKaW5kZXggOWQ5YWMxZi4uYjg3MmFkZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVk
LmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgVHJlZVNoYXJlZF9oCiAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzIsNyArMzEsOCBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkOwogdGVtcGxhdGU8dHlwZW5h
bWUgVD4gdm9pZCBhZG9wdGVkKFRyZWVTaGFyZWQ8VD4qKTsKICNlbmRpZgogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRyZWVTaGFyZWQpOwogcHVibGljOgogICAgIFRyZWVTaGFyZWQoKQogICAgICAgICA6IG1f
cmVmQ291bnQoMSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1h
dGlvbkxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApp
bmRleCA5YTMzNGNhLi5jODgxMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1h
dGlvbi9BbmltYXRpb25MaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5p
bWF0aW9uTGlzdC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgQW5pbWF0aW9uTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFuaW1h
dGlvbkxpc3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQW5p
bWF0aW9uTGlzdCgpIHsgfQogICAgIEFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlzdCYp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQzMThiODEuLjM5OGUxMjcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgQXVkaW9C
dXNfaAogCiAjaW5jbHVkZSAiQXVkaW9DaGFubmVsLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKQEAgLTM5LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQW4gQXVkaW9C
dXMgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2Ygb25lIG9yIG1vcmUgQXVkaW9DaGFubmVscy4K
IC8vIFRoZSBkYXRhIGxheW91dCBpcyAicGxhbmFyIiBhcyBvcHBvc2VkIHRvICJpbnRlcmxlYXZl
ZCIuCiAvLyBBbiBBdWRpb0J1cyB3aXRoIG9uZSBjaGFubmVsIGlzIG1vbm8sIGFuIEF1ZGlvQnVz
IHdpdGggdHdvIGNoYW5uZWxzIGlzIHN0ZXJlbywgZXRjLgotY2xhc3MgQXVkaW9CdXMgIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQnVzICB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQXVkaW9CdXMgKTsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAgQ2hhbm5lbExl
ZnQgPSAwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggNjgxNjgzMC4u
NzMyNWU5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCkBAIC0zMCwxNCAr
MzAsMTQgQEAKICNkZWZpbmUgQXVkaW9DaGFubmVsX2gKIAogI2luY2x1ZGUgIkF1ZGlvQXJyYXku
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuIEF1ZGlvQ2hhbm5lbCByZXByZXNl
bnRzIGEgYnVmZmVyIG9mIG5vbi1pbnRlcmxlYXZlZCBmbG9hdGluZy1wb2ludCBhdWRpbyBzYW1w
bGVzLgogLy8gVGhlIFBDTSBzYW1wbGVzIGFyZSBub3JtYWxseSBhc3N1bWVkIHRvIGJlIGluIGEg
bm9taW5hbCByYW5nZSAtMS4wIC0+ICsxLjAKLWNsYXNzIEF1ZGlvQ2hhbm5lbCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0NoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEF1ZGlvQ2hhbm5lbCk7CiBwdWJsaWM6CiAgICAgLy8gTWVtb3J5IGNhbiBiZSBleHRlcm5h
bGx5IHJlZmVyZW5jZWQsIG9yIGNhbiBiZSBpbnRlcm5hbGx5IGFsbG9jYXRlZCB3aXRoIGFuIEF1
ZGlvRmxvYXRBcnJheS4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RGF0YWJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKaW5kZXgg
YzMzYjM4Zi4uMzUxNDY5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RGF0YWJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCkBA
IC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlICJIUlRGRWxldmF0aW9uLmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
SFJURktlcm5lbDsKIAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhSVEZEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkRhdGFi
YXNlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIUlRGRGF0YWJhc2U+IGNyZWF0
ZShkb3VibGUgc2FtcGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vSFJURkVsZXZhdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9u
LmgKaW5kZXggYjM4OGIzNC4uZjQ0NDQ0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9IUlRGRWxldmF0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxl
dmF0aW9uLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSFJURkVsZXZhdGlvbl9oCiAKICNp
bmNsdWRlICJIUlRGS2VybmVsLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAvLyBIUlRGRWxldmF0aW9uIGNvbnRhaW5zIGFsbCBvZiB0aGUgSFJURktlcm5lbHMgKG9u
ZSBsZWZ0IGVhciBhbmQgb25lIHJpZ2h0IGVhciBwZXIgYXppbXV0aCBhbmdsZSkgZm9yIGEgcGFy
dGljdWxhciBlbGV2YXRpb24uCiAKLWNsYXNzIEhSVEZFbGV2YXRpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFJURkVsZXZhdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFJURkVsZXZhdGlvbik7CiBwdWJsaWM6CiAgICAgLy8gTG9hZHMgYW5kIHJldHVybnMgYW4gSFJU
RkVsZXZhdGlvbiB3aXRoIHRoZSBnaXZlbiBIUlRGIGRhdGFiYXNlIHN1YmplY3QgbmFtZSBhbmQg
ZWxldmF0aW9uIGZyb20gYnJvd3NlciAob3IgV2ViS2l0LmZyYW1ld29yaykgcmVzb3VyY2VzLgog
ICAgIC8vIE5vcm1hbGx5LCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBzaW5nbGUgSFJURiBkYXRhYmFz
ZSBzZXQsIGJ1dCB0aGlzIEFQSSBzdXBwb3J0cyB0aGUgcG9zc2liaWxpdHkgb2YgbXVsdGlwbGUg
b25lcyB3aXRoIGRpZmZlcmVudCBuYW1lcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
Q2xpcGJvYXJkQ2hyb21pdW0uaAppbmRleCAxZDY5OTIxLi44ZDZmYTIxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCkBAIC00Miw2ICs0Miw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBJbnRQb2ludDsKIAogICAgIGNsYXNzIENs
aXBib2FyZENocm9taXVtIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNl
Q2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIH5DbGlwYm9hcmRDaHJvbWl1bSgpIHt9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuaAppbmRleCA1YTU0OTYzLi5lOTY3OGMxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC02OCw3ICs2OCw5IEBAIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBUaW1lcjsKIC8vIEZyYW1lRGF0YSBDbGFzcwogLy8gPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLXN0cnVjdCBGcmFtZURhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgRnJhbWVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGcmFtZURhdGEpOworcHVibGljOgogICAgIEZyYW1lRGF0YSgpCiAgICAgICAgIDogbV9mcmFt
ZSgwKQogICAgICAgICAsIG1faGF2ZU1ldGFkYXRhKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b2xvci5oCmluZGV4IDJlNGU5NjIuLjZkODkyYTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9y
LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29sb3JfaAogI2RlZmluZSBDb2xvcl9oCiAK
LSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC03NSw3ICs3NCw4IEBAIGlu
bGluZSBpbnQgZ3JlZW5DaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDgp
ICYgMHhGRjsgfQogaW5saW5lIGludCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJu
IGNvbG9yICYgMHhGRjsgfQogaW5saW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7
IHJldHVybiAoY29sb3IgPj4gMjQpICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIENvbG9yKCkgOiBtX2NvbG9yKDApLCBtX3ZhbGlkKGZhbHNlKSB7IH0K
ICAgICBDb2xvcihSR0JBMzIgY29sKSA6IG1fY29sb3IoY29sKSwgbV92YWxpZCh0cnVlKSB7IH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCmluZGV4IDg3YTFj
NWMuLjA3MjVhOTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4
dFNoYWRvdy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93
LmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkNvbnRleHRTaGFkb3cuaCIKIAogI2lu
Y2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IHVzaW5nIFdURjo6bWluOwogdXNpbmcgV1RGOjptYXg7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5jcHAKaW5kZXggMTQ5ZWE3OS4uZjVkZDhiYSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmNwcApAQCAtNTMsNyArNTMsOSBAQCBGb250Q2FjaGU6OkZvbnRD
YWNoZSgpCiB7CiB9CiAKLXN0cnVjdCBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkgOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5KGNv
bnN0IEF0b21pY1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3RyaW5nKCksIHVuc2lnbmVkIHNpemUg
PSAwLCB1bnNpZ25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxpYyA9IGZhbHNlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib29sIGlzUHJpbnRlckZvbnQgPSBmYWxzZSwgRm9udFJlbmRl
cmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRlcmluZ01vZGUsIEZvbnRPcmllbnRh
dGlvbiBvcmllbnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAgICAgIDogbV9zaXplKHNpemUpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRleCBlNjg0NWQ5Li40ZmE3NDE0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xh
c3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3MgRm9udFNlbGVjdG9yOwogY2xhc3MgU2ltcGxlRm9u
dERhdGE7CiAKLWNsYXNzIEZvbnRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBG
b250Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDYWNoZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hl
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAppbmRleCBlZTk0YTk4Li4wZWI2
Njg1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBAIC0yNywxNCArMjcsMTQg
QEAKICNkZWZpbmUgRm9udERhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNz
IEZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnREYXRhIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGb250RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgRm9udERhdGEoKQogICAgICAgICA6IG1fbWF4R2x5cGhQYWdlVHJlZUxldmVs
KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAppbmRleCBm
YTg1YmNjLi4zZTEzZmJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ds
eXBoTWV0cmljc01hcC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRy
aWNzTWFwLmgKQEAgLTQwLDcgKzQwLDggQEAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsK
IAogY29uc3QgZmxvYXQgY0dseXBoU2l6ZVVua25vd24gPSAtMTsKIAotdGVtcGxhdGU8Y2xhc3Mg
VD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRl
PGNsYXNzIFQ+IGNsYXNzIEdseXBoTWV0cmljc01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR2x5cGhNZXRyaWNzTWFwKTsKIHB1YmxpYzoKICAgICBHbHlwaE1ldHJpY3NNYXAoKSA6IG1f
ZmlsbGVkUHJpbWFyeVBhZ2UoZmFsc2UpIHsgfQogICAgIH5HbHlwaE1ldHJpY3NNYXAoKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggNmFkYzkwYi4u
YmE3ODliNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5o
CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlBhdGgu
aCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogI2lmIFBMQVRGT1JNKENHKQpAQCAt
MTUzLDcgKzE1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSW50ZXJwb2xhdGlv
bkhpZ2gKICAgICB9OwogCi0gICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHcmFwaGljc0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKICAgICAgICAgR3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0
Kik7CiAgICAgICAgIH5HcmFwaGljc0NvbnRleHQoKTsKQEAgLTM1Niw3ICszNTYsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93
cyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7
CiAKLSAgICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV2luZG93c0JpdG1hcCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFdpbmRv
d3NCaXRtYXAoSERDLCBJbnRTaXplKTsKICAgICAgICAgICAgIH5XaW5kb3dzQml0bWFwKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggYzJk
NWMyNC4uN2MwN2JlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQzRC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogLy8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZs
aWN0aW9uIGZvciBOT19FUlJPUi4KICNpZiAoKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhXSU5E
T1dTKSkgfHwgUExBVEZPUk0oV0lOKSB8fCAoUExBVEZPUk0oUVQpICYmIE9TKFdJTkRPV1MpKSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJp
dmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRl
LmgKaW5kZXggOTg1Y2FkOS4uMTljNjA2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKQEAgLTg0LDcgKzg0LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogI2VuZGlmCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4
dFByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4
dFByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQ
cml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEdy
YXBoaWNzQ29udGV4dFByaXZhdGUoKQogICAgICAgICAgICAgOiBtX3VwZGF0aW5nQ29udHJvbFRp
bnRzKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRl
eCA5OTFjYTMyLi5lNWRkY2I5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaApAQCAtMTA0LDcgKzEwNCw4IEBAIGNsYXNzIFRpbWluZ0Z1bmN0aW9uOwogLy8gQmFz
ZSBjbGFzcyBmb3IgYW5pbWF0aW9uIHZhbHVlcyAoYWxzbyB1c2VkIGZvciB0cmFuc2l0aW9ucyku
IEhlcmUgdG8KIC8vIHJlcHJlc2VudCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgYmVpbmcgYW5pbWF0
ZWQgdmlhIHRoZSBHcmFwaGljc0xheWVyLAogLy8gd2l0aG91dCBwdWxsaW5nIGluIHN0eWxlLXJl
bGF0ZWQgZGF0YSBmcm9tIG91dHNpZGUgb2YgdGhlIHBsYXRmb3JtIGRpcmVjdG9yeS4KLWNsYXNz
IEFuaW1hdGlvblZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvblZh
bHVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25WYWx1ZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uVmFsdWUoZmxvYXQga2V5VGlt
ZSwgUGFzc1JlZlB0cjxUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24gPSAwKQogICAgICAg
ICA6IG1fa2V5VGltZShrZXlUaW1lKQpAQCAtMTU2LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAKIC8v
IFVzZWQgdG8gc3RvcmUgYSBzZXJpZXMgb2YgdmFsdWVzIGluIGEga2V5ZnJhbWUgbGlzdC4gVmFs
dWVzIHdpbGwgYWxsIGJlIG9mIHRoZSBzYW1lIHR5cGUsCiAvLyB3aGljaCBjYW4gYmUgaW5mZXJy
ZWQgZnJvbSB0aGUgcHJvcGVydHkuCi1jbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoS2V5ZnJhbWVWYWx1ZUxpc3QpOwogcHVibGljOgogCiAgICAgS2V5ZnJhbWVWYWx1
ZUxpc3QoQW5pbWF0ZWRQcm9wZXJ0eUlEIHByb3BlcnR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZUJ1ZmZlci5oCmluZGV4IDgyMmEwZmYuLmQ1NGUwMDkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBVbm11bHRpcGxpZWQKICAgICB9OwogCi0gICAgY2xhc3MgSW1hZ2VCdWZm
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlQnVmZmVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gV2lsbCByZXR1cm4gYSBudWxsIHBvaW50ZXIg
b24gYWxsb2NhdGlvbiBmYWlsdXJlLgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxJbWFnZUJ1
ZmZlcj4gY3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9
IENvbG9yU3BhY2VEZXZpY2VSR0IpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlU291cmNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNl
LmgKaW5kZXggYWViMTU2MS4uOTFjZWU1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuaApAQCAtMjgsNyArMjgsNiBAQAogI2RlZmluZSBJbWFnZVNvdXJjZV9oCiAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFBMQVRGT1JNKFdYKQpAQCAtMTE3LDcgKzExNiw4
IEBAIGNvbnN0IGludCBjQW5pbWF0aW9uTG9vcE9uY2UgPSAwOwogY29uc3QgaW50IGNBbmltYXRp
b25Mb29wSW5maW5pdGUgPSAtMTsKIGNvbnN0IGludCBjQW5pbWF0aW9uTm9uZSA9IC0yOwogCi1j
bGFzcyBJbWFnZVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVNvdXJj
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VTb3VyY2UpOwogcHVibGljOgogICAg
IEltYWdlU291cmNlKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSA9IHRydWUsIGJvb2wgaWdub3JlR2Ft
bWFBbmRDb2xvclByb2ZpbGUgPSBmYWxzZSk7CiAgICAgfkltYWdlU291cmNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IGU4N2M1M2MuLjMxNjU0Nzgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyAr
MTQ3LDkgQEAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1l
ZGlhUGxheWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0
cnVjdCBNZWRpYVBsYXllckZhY3RvcnkgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5
ZXJGYWN0b3J5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3Rvcnkp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE1lZGlhUGxheWVyRmFjdG9y
eShDcmVhdGVNZWRpYUVuZ2luZVBsYXllciBjb25zdHJ1Y3RvciwgTWVkaWFFbmdpbmVTdXBwb3J0
ZWRUeXBlcyBnZXRTdXBwb3J0ZWRUeXBlcywgTWVkaWFFbmdpbmVTdXBwb3J0c1R5cGUgc3VwcG9y
dHNUeXBlQW5kQ29kZWNzKSAKICAgICAgICAgOiBjb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikKICAg
ICAgICAgLCBnZXRTdXBwb3J0ZWRUeXBlcyhnZXRTdXBwb3J0ZWRUeXBlcykKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBjOWMwNDJiLi43MWM5OWQ5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0zNyw3ICszNyw2IEBACiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAt
MTQ2LDcgKzE0NSw4IEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgTWVkaWFQbGF5ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKE1lZGlhUGxheWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyPiBjcmVhdGUoTWVkaWFQbGF5
ZXJDbGllbnQqIGNsaWVudCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXJQcml2YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oCmluZGV4IGQ5NTYyODYuLjY2OTgxOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMzYsOCArMzYsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW50UmVjdDsKIGNsYXNzIEludFNpemU7CiAKLWNsYXNz
IE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CisgICAgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAgICAgdmlydHVh
bCB+TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
bG9hZChjb25zdCBTdHJpbmcmIHVybCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9QYXRoLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRl
eCBiYTI1ZGMyLi41Njc3ODRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1BhdGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMjgsNyAr
MjgsNiBAQAogI2lmbmRlZiBQYXRoX2gKICNkZWZpbmUgUGF0aF9oCiAKLSNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKICNpZiBQTEFURk9S
TShDRykKQEAgLTEwMCw3ICs5OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVk
ZWYgdm9pZCAoKlBhdGhBcHBsaWVyRnVuY3Rpb24pKHZvaWQqIGluZm8sIGNvbnN0IFBhdGhFbGVt
ZW50Kik7CiAKLSAgICBjbGFzcyBQYXRoIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNs
YXNzIFBhdGggeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgUGF0aCgpOwogICAgICAgICB+UGF0aCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDU4NDc3ZGIuLjhlM2EwNDEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKQEAgLTM2LDcg
KzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xh
c3MgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAKLWNsYXNzIFRpbGVkQmFja2luZ1N0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGVkQmFja2luZ1N0b3JlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUaWxlZEJhY2tpbmdTdG9yZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgVGlsZWRCYWNraW5nU3RvcmUoVGlsZWRCYWNraW5nU3RvcmVDbGll
bnQqKTsKICAgICB+VGlsZWRCYWNraW5nU3RvcmUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZGFj
MzFmOC4uNGYzOTRmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNs
dWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IHR5cGVkZWYgc3RydWN0IEZUX0ZhY2VSZWNfKiAgRlRfRmFjZTsKIHR5cGVkZWYgc3RydWN0IF9j
YWlyb19mb250X2ZhY2UgY2Fpcm9fZm9udF9mYWNlX3Q7CkBAIC0zNSw3ICszNCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZm
ZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOwogcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEoRlRfRmFjZSwgU2hhcmVkQnVmZmVyKik7CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJD
YW52YXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMu
aAppbmRleCA2ZmMxYTBlLi44MTlmOTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAi
VGV4dHVyZS5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgR3JhcGhpY3NDb250
ZXh0M0Q7CiBjbGFzcyBTaGFyZWRHcmFwaGljc0NvbnRleHQzRDsKIAotY2xhc3MgR0xFUzJDYW52
YXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR0xFUzJDYW52YXMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEdMRVMyQ2FudmFzKTsKIHB1YmxpYzoKICAgICBHTEVTMkNhbnZhcyhT
aGFyZWRHcmFwaGljc0NvbnRleHQzRCosIERyYXdpbmdCdWZmZXIqLCBjb25zdCBJbnRTaXplJik7
CiAgICAgfkdMRVMyQ2FudmFzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAppbmRleCBjMGU2MTBhLi42
ODNjYWQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKQEAgLTQzLDcgKzQzLDYgQEAKICNpbmNsdWRl
ICJTa0JpdG1hcC5oIgogI2luY2x1ZGUgIlZpZGVvTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyVGV4dHVyZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclRleHR1cmUuaAppbmRleCAzMTJhZGZhLi45YjA3YzUzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmgKQEAgLTM3LDcg
KzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBj
bGFzcyBUZXh0dXJlTWFuYWdlcjsKIAotY2xhc3MgTGF5ZXJUZXh0dXJlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIExheWVyVGV4dHVyZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TGF5ZXJUZXh0dXJlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxMYXllclRleHR1
cmU+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgVGV4dHVyZU1hbmFnZXIqIG1h
bmFnZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggYTkzMjE4Zi4uZGRjOWNkYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJm
YWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSW50UmVj
dC5oIgogI2luY2x1ZGUgIlRleHR1cmVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRp
b25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIExheWVyQ2hyb21pdW07CiBjbGFzcyBM
YXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllclRleHR1cmU7CiAKLWNsYXNzIFJlbmRl
clN1cmZhY2VDaHJvbWl1bSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTdXJm
YWNlQ2hyb21pdW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlclN1cmZhY2VDaHJv
bWl1bSk7CiAgICAgZnJpZW5kIGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBSZW5kZXJTdXJmYWNlQ2hyb21pdW0oTGF5ZXJDaHJvbWl1bSopOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdl
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5o
CmluZGV4IDFlODUwY2QuLjFjNmRiM2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIGludCBUZXh0dXJlVG9rZW47CiAKLWNsYXNzIFRleHR1
cmVNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRleHR1cmVNYW5hZ2VyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0dXJlTWFuYWdlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8VGV4dHVyZU1hbmFnZXI+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQz
RCogY29udGV4dCwgc2l6ZV90IG1lbW9yeUxpbWl0Qnl0ZXMsIGludCBtYXhUZXh0dXJlU2l6ZSkK
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Ry
YW5zcGFyZW5jeVdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFu
c3BhcmVuY3lXaW4uaAppbmRleCBiNmJlZjkxLi4yNzUxMjU4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKQEAgLTM1LDcg
KzM1LDYgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkltYWdl
QnVmZmVyLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJ3dGYvT3duUHRy
LmgiCiAKIGNsYXNzIFNrQml0bWFwOwpAQCAtNTQsNyArNTMsOCBAQCBjbGFzcyBUcmFuc3BhcmVu
Y3lXaW5fT3BhcXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMgY29tcG9zaXRlZCBs
YXRlciBtYW51YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3MnIGluYWJpbGl0eQog
Ly8gdG8gaGFuZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJlbnQgdGV4dCwgYW5k
IHRyYW5zZm9ybWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNwYXJlbmN5V2luIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAgICBlbnVtIExheWVy
TW9kZSB7CiAgICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQuIERyYXdpbmcgd2ls
bCBoYXBwZW4gdG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0RyYXdpbmdCdWZmZXIuaAppbmRleCA5Zjc5ODg5Li5lMzU2NTkyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC0zNSw3ICszNSw2IEBACiAj
aW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTc3LDggKzc2LDEwIEBA
IHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgY2xhc3MgV2ls
bFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2lsbFB1
Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQdWJsaXNo
Q2FsbGJhY2spOwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hDYWxsYmFjaygpIHsg
fQogICAgICAgICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAgICAgIAog
ICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0
NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9v
cEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlubkNsYXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlu
bkNsYXNzaWZpZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0
UG9pbnQ7CiAKIC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMu
Ci1jbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IExvb3BCbGlubkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlu
bkNsYXNzaWZpZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMu
CiAgICAgZW51bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4u
ZDAxZTZjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNs
dWRlICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3Vs
YXRpb24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIg
Y29udHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xh
c3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGlj
ZXMgdGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAog
ICAgIC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0
dXJlCiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShWZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNv
b3Jkcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNv
b3Jkcy5oCmluZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJs
aW5uQ29uc3RhbnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9QT0RBcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaApp
bmRleCBmNjhiYWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
REFyZW5hLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3
ICsxNTcsOCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBt
ZW1vcnkgYW5kIGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENo
dW5rIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9j
YXRlcyBhIGJsb2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQK
ICAgICAgICAgLy8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9QT0RJbnRlcnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVl
LmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQ0LDggKzQzLDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2ll
bnQgKE8obGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVy
dmFscyBpbiB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9p
ZCo+Ci1jbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVz
ZXJEYXRhPiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1Ry
ZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBPREludGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlw
aW5nIHdoZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlz
IHRyZWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRC
bGFja1RyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJl
ZS5oCmluZGV4IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRl
ICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAg
IC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2Rl
cyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVl
IGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBj
bGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBD
b25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAg
IGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRl
OgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hp
Y2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xh
c3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAg
ICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9TaGFkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmlu
ZGV4IGU1YmQ4ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L1NoYWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRl
ci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmlu
ZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNs
YXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBo
aWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThh
YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMx
LDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRl
eHR1cmVTaXplLCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVy
VGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRl
eHR1cmVTaXplOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZm
Li5iZjYwYWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0
LDYgQEAKICNpbmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1
ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNs
dWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3Ry
ZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3Ry
ZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdD
bGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5o
IgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAK
LSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1
LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENv
cmVGb3VuZGF0aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVm
OwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250
LCBDR0ZvbnRSZWYgY2dGb250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9h
dHNGb250KGF0c0ZvbnQpLCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44
NDg5OTNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWlu
dGVyT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRl
ck9wZW5WRy5oCkBAIC0yNSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZH
OwogCiBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNz
IFN1cmZhY2VPcGVuVkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVu
VkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaApp
bmRleCA0NmQxNjQ2Li5lZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWds
Lmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRl
ZnMgYW5kIHNob3VsZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRl
eHQKICAqIGltcGxlbWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5W
RyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VD
dXJyZW50TW9kZSB7CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAppbmRleCA2YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1
LDE2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRl
cmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURh
dGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAg
ICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250
RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIw
MWYxOC4uOWM2NjJhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9G
b250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250
UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Rm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvbnRQbGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpA
QCAtNjIsOCArNjMsMTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsg
fQogICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlx
dWUpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAg
ICBGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcg
PSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3ND
b250ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHRRdC5jcHAKaW5kZXggYWRhNTM4Yy4uNGU4YmE0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE3Nyw3ICsxNzcsOCBA
QCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkK
ICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250
ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xv
ciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJl
bmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5
ZXIuaAppbmRleCA2YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNv
bnN0IFFSZWN0ICZyZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAg
ICAgIDogcGl4bWFwKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFj
aXR5KG9wYWNpdHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4wODNlNThjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIK
ICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1
ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC00OSw3ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEpOworcHVibGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAg
ICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGVfaAogI2RlZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8g
YSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQp
CiAgICAgICAgIDogbV9jb250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAx
MTAwODVkLi5kNjgzYWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxh
dGZvcm1Db250ZXh0U2tpYV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNs
dWRlICJOb25jb3B5YWJsZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2lu
Y2x1ZGUgIlNrRHJhd0xvb3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwog
Ly8gcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBz
dG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVz
IHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVz
aGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250
ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1Ymxp
YzoKICAgICAvLyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBj
YW52YXMgY2FuIGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5
b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEw
Mi4uMTBmYjA0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRy
YW5zZm9ybWF0aW9uTWF0cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNw
eQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNp
bmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDgg
QEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25N
YXRyaXg7CiAKLWNsYXNzIEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9u
cy5oCmluZGV4IGMwZGEzNzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEs
NyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJh
dGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25z
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9w
ZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXgu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oCmluZGV4IDk2YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBv
aW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhp
Y3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2lu
dDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0
aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5
cGVkZWYgZG91YmxlIE1hdHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4x
NjI4ZWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3Ry
dWN0IENHRm9udCogQ0dGb250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExF
IGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZl
cmVuY2UoZm9udFJlZmVyZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWly
by5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0
YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4uMDY5OTFjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgK
QEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNs
dWRlIDxjYWlyby5oPgogCkBAIC0zMyw3ICszMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNl
X3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4
dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5o
CmluZGV4IGMyMTYxNDAuLjU5NTFlNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2luZG93
c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3Qm
IHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1h
cCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5m
ZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmll
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21w
b25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBz
dGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZT
dHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVW
ZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUs
IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1Ymxp
YyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVBy
aXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2
YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmll
R1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQu
Y3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8
UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBA
CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsK
ICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVz
aGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZs
dXNoZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgogCkBAIC0zNiw3ICszNSw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdL
Q0FDRkNvbnRleHRGbHVzaGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZl
ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVy
UmVuZGVyZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXll
clJlbmRlcmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1
ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYs
NyArNTUsOCBAQCBwdWJsaWM6CiAvLyBGSVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNG
TGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBD
QVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2ll
bnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQot
Y2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBX
S0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXll
clJlbmRlcmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJl
bmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZM
YXllclJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0
aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTM3LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwog
ICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxl
IHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAg
ICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAg
ICA6IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0
YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5j
bHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+
CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RFWFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0Uu
Y3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyAr
NDQwLDggQEAgc3RhdGljIHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwg
Y29uc3QgU2hhcmVkQml0bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1
bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xh
c3MgVHJhbnNwYXJlbnRMYXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRM
YXllckRDIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwog
cHVibGljOgogICAgIFRyYW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUqIGRhdGEsIEludFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3Jl
VHJhbnNmb3JtID0gMCwgaW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7
CiAgICAgflRyYW5zcGFyZW50TGF5ZXJEQygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJh
bnNwYXJlbnRMYXllckRDOjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNj
b3BlRENQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBTY29wZURDUHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBk
YXRhKQogICAgICAgICA6IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5
OWIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1
ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCmluZGV4IGUxNGE1ODMuLjRj
MTljZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCkBAIC0zOSw2ICszOSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3Mg
ZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgLy8gQ3JlYXRlZCBm
cm9tIHRoZSBFdmVudEhhbmRsZXJHdGsgdG8gYmUgdXNlZCBieSB0aGUgZG9tCiAgICAgY2xhc3Mg
Q2xpcGJvYXJkR3RrIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaXBib2FyZEd0az4gY3JlYXRlKENsaXBib2FyZEFjY2Vz
c1BvbGljeSBwb2xpY3ksIEd0a0NsaXBib2FyZCogY2xpcGJvYXJkLCBGcmFtZSogZnJhbWUpCiAg
ICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1h
Z2VEZWNvZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rl
ci5oCmluZGV4IDVhMDRiZWUuLjFkN2I5ZjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtMjIxLDcgKzIyMSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAvLyBzZXRNYXhOdW1QaXhlbHMoKSB0byBzcGVjaWZ5IHRoZSBiaWdnZXN0
IHNpemUgdGhhdCBkZWNvZGVkIGltYWdlcyBjYW4KICAgICAvLyBoYXZlLiBJbWFnZSBkZWNvZGVy
cyB3aWxsIGRlZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQgYXJlIGJpZ2dlciB0aGFuCiAgICAgLy8g
bV9tYXhOdW1QaXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5IGFsbCBpbWFnZSBkZWNvZGVycyB5ZXQp
Ci0gICAgY2xhc3MgSW1hZ2VEZWNvZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBJbWFnZURlY29kZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZURlY29k
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgSW1hZ2VE
ZWNvZGVyKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgYm9vbCBpZ25vcmVHYW1tYUFuZENvbG9yUHJv
ZmlsZSkKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBi
b2FyZE1hYy5oCmluZGV4IDcxODdlY2YuLjg5ZjgzM2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBi
b2FyZE1hYy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgRmlsZUxpc3Q7
CiAKIGNsYXNzIENsaXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRNYWM+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNs
aXBib2FyZFR5cGUsIE5TUGFzdGVib2FyZCAqcGFzdGVib2FyZCwgQ2xpcGJvYXJkQWNjZXNzUG9s
aWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKaW5kZXggOTBiZWI0MC4uYjk5MGQ3
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0LmgKQEAgLTE3LDcgKzE3LDYgQEAKICAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgogICovCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmZGVmIF9fT0JKQ19f
CiBAY2xhc3MgTlNHcmFwaGljc0NvbnRleHQ7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIEdyYXBo
aWNzQ29udGV4dDsKICAgICAKIC8vIFRoaXMgY2xhc3MgYXV0b21hdGljYWxseSBzYXZlcyBhbmQg
cmVzdG9yZXMgdGhlIGN1cnJlbnQgTlNHcmFwaGljc0NvbnRleHQgZm9yCiAvLyBmdW5jdGlvbnMg
d2hpY2ggY2FsbCBvdXQgaW50byBBcHBLaXQgYW5kIHJlbHkgb24gdGhlIGN1cnJlbnRDb250ZXh0
IGJlaW5nIHNldAotY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KTsKIHB1YmxpYzoK
ICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGlj
c0NvbnRleHQpOwogICAgIH5Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tIGIvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KaW5kZXggY2M5ZmYxNy4uNDQ2YmRhYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KQEAgLTI5LDcgKzI5LDYgQEAKICNpbXBv
cnQgPElPS2l0L0lPTWVzc2FnZS5oPgogI2ltcG9ydCA8SU9LaXQvcHdyX21ndC9JT1BNTGliLmg+
CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2ltcG9ydCA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1VudXNlZFBhcmFtLmg+
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKaW5kZXggMWZmNjM0NC4uNmVmMjI0MCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKQEAgLTE0NSw2ICsxNDUsNyBAQCBwcml2
YXRlOgogdHlwZWRlZiBWZWN0b3I8QmxvYkRhdGFJdGVtPiBCbG9iRGF0YUl0ZW1MaXN0OwogCiBj
bGFzcyBCbG9iRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxCbG9iRGF0YT4gY3JlYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAppbmRleCA4N2QwZWYzLi4xMTJlMzE1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCkBAIC0yMywxNCArMjMs
MTQgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9ybURh
dGFCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvcm1EYXRhQnVpbGRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9ybURhdGFCdWlsZGVyKTsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgVGV4dEVuY29kaW5nIGVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQoY29uc3QgU3Ry
aW5nJiBhY2NlcHRDaGFyc2V0LCBEb2N1bWVudCogZG9jdW1lbnQpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCmluZGV4IGQxZjJkYjQuLjM5
OTc4MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVO
b3RpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3Rp
Zmllci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gK
ICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXJQcml2YXRlOwogI2VuZGlmCiAK
LWNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE5ldHdvcmtTdGF0ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXR3b3Jr
U3RhdGVOb3RpZmllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTmV0
d29ya1N0YXRlTm90aWZpZXIoKTsKICAgICB2b2lkIHNldE5ldHdvcmtTdGF0ZUNoYW5nZWRGdW5j
dGlvbih2b2lkICgqKSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZUludGVybmFsLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDljY2NlY2QuLjBmMmJlMjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaApAQCAtODAsNyAr
ODAsOCBAQCBjbGFzcyBOU1VSTENvbm5lY3Rpb247CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgUmVzb3VyY2VIYW5kbGVDbGllbnQ7CiAKLSAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUlu
dGVybmFsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUlu
dGVybmFsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXNv
dXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2FkZXIsIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGMsIGJvb2wgZGVmZXJzTG9h
ZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAgICAgICA6IG1fY2xpZW50KGMp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRl
eCAzM2ExODRlLi4yYjc0MTczIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICAvLyBEbyBu
b3QgdXNlIHRoaXMgdHlwZSBkaXJlY3RseS4gIFVzZSBSZXNvdXJjZVJlcXVlc3QgaW5zdGVhZC4K
LSAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIHR5cGUgb2YgdGhpcyBSZXNvdXJj
ZVJlcXVlc3QsIGJhc2VkIG9uIGhvdyB0aGUgcmVzb3VyY2Ugd2lsbCBiZSB1c2VkLgogICAgICAg
ICBlbnVtIFRhcmdldFR5cGUgewpAQCAtMjA1LDcgKzIwNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGEs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6
Y29tcGFyZShhLCBiKTsgfQogICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oUmVzb3VyY2VSZXF1
ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQog
Ci0gICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgOiBOb25jb3B5
YWJsZSB7CisgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2Ugewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERh
dGFCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CisgICAgICAgIENy
b3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UoKSB7IH0KICAgICAgICAgS1VSTCBtX3Vy
bDsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hlUG9saWN5Owpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRl
eCA5YzU0YmFiLi5jYjhhNTFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXNwb25zZUJhc2UuaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlOwogc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGE7CiAKIC8vIERvIG5v
dCB1c2UgdGhpcyBjbGFzcyBkaXJlY3RseSwgdXNlIHRoZSBjbGFzcyBSZXNwb25zZVJlc3BvbnNl
IGluc3RlYWQKLWNsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8UmVzb3VyY2VSZXNwb25zZT4g
YWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhPik7CiAKQEAg
LTE3NSw3ICsxNzYsMTAgQEAgcHJpdmF0ZToKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYikgeyByZXR1cm4g
UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbXBhcmUoYSwgYik7IH0KIGlubGluZSBib29sIG9wZXJh
dG9yIT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
YikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLXN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVz
cG9uc2VEYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVzcG9uc2VEYXRhQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UpOworcHVibGljOgorICAgIENyb3NzVGhyZWFkUmVzb3Vy
Y2VSZXNwb25zZURhdGFCYXNlKCkgeyB9CiAgICAgS1VSTCBtX3VybDsKICAgICBTdHJpbmcgbV9t
aW1lVHlwZTsKICAgICBsb25nIGxvbmcgbV9leHBlY3RlZENvbnRlbnRMZW5ndGg7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApp
bmRleCBlNTc4YThkLi5hNzA4ZGNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5MgogCi1jbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3RvcjxjaGFyPiYpOwog
ICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKaW5kZXggMzhkOWNkMS4uZjUwNTQw
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAKQEAgLTc2LDcgKzc2LDggQEAgc3RhdGljIFN0cmluZyBxdWVyeUhUVFBIZWFkZXIo
SElOVEVSTkVUIHJlcXVlc3RIYW5kbGUsIERXT1JEIGluZm9MZXZlbCkKIH0KIAogCi1jbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+JiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAppbmRleCA1YWNhMWE2Li4xZWVjOGFkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcg
YW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICBjbGFzcyBDbGlwYm9hcmRRdCA6IHB1YmxpYyBD
bGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
bGlwYm9hcmRRdD4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFN
aW1lRGF0YSogcmVhZGFibGVDbGlwYm9hcmQpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMuLmRhNTNhY2MgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtNTAsNyArNTAsOCBAQCBleHRlcm4gY29uc3QgaW50IFNR
TFJlc3VsdFNjaGVtYTsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0RnVsbDsKIGV4dGVybiBj
b25zdCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0OwogCi1jbGFzcyBTUUxpdGVEYXRhYmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxpdGVEYXRhYmFzZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1FMaXRlRGF0YWJhc2UpOwogICAgIGZyaWVuZCBjbGFzcyBTUUxpdGVUcmFu
c2FjdGlvbjsKIHB1YmxpYzoKICAgICBTUUxpdGVEYXRhYmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRleCAxNDQ0ZjBlLi4xZWUzYmUzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNRTFZhbHVlOwogCi1jbGFzcyBTUUxpdGVTdGF0ZW1lbnQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlU3RhdGVtZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTUUxpdGVTdGF0ZW1lbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFNRTGl0ZVN0YXRlbWVudChTUUxpdGVEYXRhYmFzZSYsIGNvbnN0IFN0cmluZyYp
OwogICAgIH5TUUxpdGVTdGF0ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFu
c2FjdGlvbi5oCmluZGV4IDkyNDI0MWYuLjQyN2IyOTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlVHJhbnNhY3Rpb24uaApAQCAtMjYsMTQgKzI2LDEzIEBACiAjaWZuZGVmIFNRTGl0ZVRy
YW5zYWN0aW9uX2gKICNkZWZpbmUgU1FMaXRlVHJhbnNhY3Rpb25faAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1FMaXRlRGF0
YWJhc2U7CiAKLWNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlCi17
CitjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FM
aXRlVHJhbnNhY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNR
TGl0ZVRyYW5zYWN0aW9uKFNRTGl0ZURhdGFiYXNlJiBkYiwgYm9vbCByZWFkT25seSA9IGZhbHNl
KTsKICAgICB+U1FMaXRlVHJhbnNhY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2
ZXIuaAppbmRleCAxZjg3MTE1Li4wNTZlZDcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvQmlkaVJlc29sdmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNv
bHZlci5oCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIEJpZGlSZXNvbHZlcl9oCiAKICNpbmNs
dWRlICJCaWRpQ29udGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0xMjYs
NyArMTI1LDggQEAgc3RydWN0IEJpZGlDaGFyYWN0ZXJSdW4gewogICAgIEJpZGlDaGFyYWN0ZXJS
dW4qIG1fbmV4dDsKIH07CiAKLXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBj
bGFzcyBCaWRpUmVzb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPGNsYXNz
IEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmlkaVJlc29sdmVyKTsKIHB1YmxpYyA6CiAgICAgQmlkaVJlc29sdmVyKCkK
ICAgICAgICAgOiBtX2RpcmVjdGlvbihXVEY6OlVuaWNvZGU6Ok90aGVyTmV1dHJhbCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKaW5kZXggZjE2MTFlNS4uMTJkMDUy
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKQEAgLTMwLDcg
KzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWd1bGFyRXhwcmVzc2lv
biA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlZ3VsYXJFeHByZXNzaW9uIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlZ3VsYXJFeHByZXNzaW9u
KGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkpOwogICAgIH5SZWd1bGFyRXhwcmVz
c2lvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4IGM2YWYzOGEuLjE4YjVkOGIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1
ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTU3LDggKzU2LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgY2hhciBVbmVuY29kYWJsZVJl
cGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xhc3MgVGV4dENvZGVjIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29kZWMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAg
ICAgICAgVGV4dENvZGVjKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRleHRDb2RlYygpOwogCiAg
ICAgICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciogc3RyLCBzaXplX3QgbGVuZ3RoLCBib29s
IGZsdXNoID0gZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNj
b2Rlci9Gb250VHJhbnNjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIv
Rm9udFRyYW5zY29kZXIuaAppbmRleCA2N2RiOTc3Li44ODQ2Y2RkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKQEAgLTMyLDcgKzMy
LDYgQEAKICNkZWZpbmUgRm9udFRyYW5zY29kZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
aWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3MgVGV4dEVu
Y29kaW5nOwogCi1jbGFzcyBGb250VHJhbnNjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGb250VHJhbnNjb2RlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFRyYW5z
Y29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZvaWQgY29udmVy
dChTdHJpbmcmIHRleHQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGlu
ZyogPSAwKSBjb25zdDsKICAgICBib29sIG5lZWRzVHJhbnNjb2RpbmcoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9D
bGlwYm9hcmRXaW4uaAppbmRleCBjZTY0Yjg1Li4yZDE0NGIwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9D
bGlwYm9hcmRXaW4uaApAQCAtNDEsNiArNDEsNyBAQCBjbGFzcyBXQ0RhdGFPYmplY3Q7CiAKIC8v
IFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5k
IGNvcHkvcGFzdGUKIGNsYXNzIENsaXBib2FyZFdpbiA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1Ymxp
YyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0ZShDbGlwYm9h
cmRUeXBlIGNsaXBib2FyZFR5cGUsIElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBDbGlwYm9hcmRB
Y2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5kMzZj
MjMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRj
YXN0ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0
ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0ZW5lcjsKIAot
ICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VMaXN0ZW5lciop
OwogICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdl
TGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5o
IGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1Zi4uOTMyYTFk
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKKysrIGIvV2Vi
Q29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdlPiwg
UGx1Z2luUGFja2FnZUhhc2g+IFBsdWdpblNldDsKIAotICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpbkRhdGFiYXNlKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmggYi9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCmluZGV4IDYxMGU4OWMuLmUy
ZTA4MDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1
bGVyLmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaApA
QCAtMzYsNyArMzYsOCBAQCB0eXBlZGVmIE5QUF90KiBOUFA7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZvaWQgTWFpblRocmVhZEZ1bmN0aW9uKHZvaWQqKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggZGVhZWM5OS4uNWYwZjZjYiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5oCkBAIC05Myw3ICs5Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGx1Z2lu
U3RhdHVzTG9hZGVkU3VjY2Vzc2Z1bGx5CiAgICAgfTsKIAotICAgIGNsYXNzIFBsdWdpblJlcXVl
c3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBsdWdpblJlcXVlc3QgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5SZXF1ZXN0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29uc3QgRnJhbWVM
b2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lk
KiBub3RpZnlEYXRhLCBib29sIHNob3VsZEFsbG93UG9wdXBzKQogICAgICAgICAgICAgOiBtX2Zy
YW1lTG9hZFJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL0NvbHVtbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaAppbmRl
eCA1ZTZmNjE5Li5kYjk0NzhjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5J
bmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3ICszMSw4
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb2x1
bW5JbmZvKCkKICAgICAgICAgOiBtX2Rlc2lyZWRDb2x1bW5XaWR0aCgwKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50
ZXJOb2RlLmgKaW5kZXggNTI5ZDQwOS4uNTU1ZTgxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvQ291bnRlck5vZGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5o
CkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIENvdW50ZXJOb2RlX2gKIAogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KIAogLy8gVGhpcyBpbXBsZW1lbnRzIGEgY291bnRlciB0cmVlIHRoYXQg
aXMgdXNlZCBmb3IgZmluZGluZyBwYXJlbnRzIGluIGNvdW50ZXJzKCkgbG9va3VwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L0xheW91dFN0YXRlLmgKaW5kZXggY2NhM2U0Mi4uYmJhNjAxZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRT
dGF0ZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVk
ZSAiSW50U2l6ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgY2xhc3MgUmVuZGVyQXJlbmE7CiBjbGFzcyBS
ZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIExheW91dFN0YXRlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMYXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAgICAgTGF5b3V0U3RhdGUoKQogICAgICAg
ICA6IG1fY2xpcHBlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckFyZW5hLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCmluZGV4IDMyMTM5ZmIu
LjNiNWNmMDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaApAQCAtMzYsMTMgKzM2LDEzIEBACiAj
ZGVmaW5lIFJlbmRlckFyZW5hX2gKIAogI2luY2x1ZGUgIkFyZW5hLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IHNp
emVfdCBnTWF4UmVjeWNsZWRTaXplID0gNDAwOwogCi1jbGFzcyBSZW5kZXJBcmVuYSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJBcmVuYSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVuZGVyQXJlbmEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IFJlbmRlckFyZW5hKHVuc2lnbmVkIGFyZW5hU2l6ZSA9IDQwOTYpOwogICAgIH5SZW5kZXJBcmVu
YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggNTE1MzIxOC4uZGNlZjA0YyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNTQsNyArMzU0LDkgQEAgcHJpdmF0ZToKICAgICAgICAg
Ym9vbCBldmVySGFkTGF5b3V0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3Qg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRmxvYXRpbmdPYmplY3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAorICAgIHB1YmxpYzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBiaXRzIHNvIHlv
dSBjYW4gdXNlIEZsb2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGggbGVmdCBhbmQg
cmlnaHQuCiAgICAgICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0UmlnaHQgPSAy
LCBGbG9hdEJvdGggPSAzIH07CiAKQEAgLTY4MSw3ICs2ODMsOSBAQCBwcml2YXRlOgogICAgIFJl
bmRlckJveE1vZGVsT2JqZWN0KiBtX2NvbnRpbnVhdGlvbjsKICAgICAKICAgICAvLyBBbGxvY2F0
ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVz
Ci0gICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IFJlbmRlckJsb2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6
CiAgICAgICAgIFJlbmRlckJsb2NrUmFyZURhdGEoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrKSAK
ICAgICAgICAgICAgIDogbV9tYXJnaW5zKHBvc2l0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdChibG9j
ayksIG5lZ2F0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdChibG9jayksIHBvc2l0aXZlTWFyZ2luQWZ0
ZXJEZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5BZnRlckRlZmF1bHQoYmxvY2spKQogICAg
ICAgICAgICAgLCBtX3BhZ2luYXRpb25TdHJ1dCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDE0M2M3MmMuLjRlNWY2ZjggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTUzLDcgKzUzLDggQEAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsgLy8gNTAwIG1z
CiB0eXBlZGVmIHBhaXI8UmVuZGVyQm94TW9kZWxPYmplY3QqLCBjb25zdCB2b2lkKj4gTGFzdFBh
aW50U2l6ZU1hcEtleTsKIHR5cGVkZWYgSGFzaE1hcDxMYXN0UGFpbnRTaXplTWFwS2V5LCBJbnRT
aXplPiBMYXN0UGFpbnRTaXplTWFwOwogCi1jbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlUXVhbGl0eUNvbnRyb2xsZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIoKTsKICAg
ICBib29sIHNob3VsZFBhaW50QXRMb3dRdWFsaXR5KEdyYXBoaWNzQ29udGV4dCosIFJlbmRlckJv
eE1vZGVsT2JqZWN0KiwgSW1hZ2UqLCBjb25zdCB2b2lkKiBsYXllciwgY29uc3QgSW50U2l6ZSYp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggZDBhYjM0Ni4uMWU1MTFkMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03Myw3ICs3Myw4IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7CiAKLSAgICBjbGFzcyBH
cmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JpZEF4aXMgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmlkQXhpcyk7CiAgICAgcHVibGljOgogICAgICAg
ICBHcmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2VSZXNvdXJjZS5oCmluZGV4IDIzNDY3MTIuLmU1OGNkOWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogI2luY2x1
ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJTdHlsZUltYWdlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBSZW5kZXJJ
bWFnZVJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckltYWdlUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckltYWdlUmVzb3VyY2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlckltYWdl
UmVzb3VyY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCBm
YjNhYjY3Li5jYWQ4NDU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApA
QCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8vIAogLy8gVGhl
cmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXllciB0aGF0IGlz
IGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGlj
c0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTGF5ZXJCYWNr
aW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgUmVuZGVyTGF5ZXJCYWNraW5nKFJlbmRlckxheWVyKik7CiAgICAgflJlbmRlckxheWVy
QmFja2luZygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCmluZGV4IDc5OTk4ZWQuLjNiNWVi
MzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyTGF5ZXI7CiAKIC8vIFRoaXMgY2xhc3MgaGFuZGxl
cyB0aGUgYXV0by1zY3JvbGxpbmcgb2YgbGF5ZXJzIHdpdGggb3ZlcmZsb3c6IG1hcnF1ZWUuCi1j
bGFzcyBSZW5kZXJNYXJxdWVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck1h
cnF1ZWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck1hcnF1ZWUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlck1hcnF1ZWUoUmVu
ZGVyTGF5ZXIqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJNYXJxdWVlKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT3ZlcmZsb3cuaAppbmRleCAyNTNhNjcyLi4zMWUwMWU3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck92ZXJmbG93LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUKIC8vIEV4YW1w
bGVzIG9mIHZpc3VhbCBvdmVyZmxvdyBhcmUgc2hhZG93cywgdGV4dCBzdHJva2UgKGFuZCBldmVu
dHVhbGx5IG91dGxpbmUgYW5kIGJvcmRlci1pbWFnZSkuCiAKIC8vIFRoaXMgb2JqZWN0IGlzIGFs
bG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2ZSBub24tZGVmYXVsdCB2
YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCi1jbGFzcyBSZW5kZXJPdmVyZmxvdyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJPdmVyZmxvdyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVuZGVyT3ZlcmZsb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGRlZmF1bHRSZWN0ID0gSW50UmVjdCgp
KSAKICAgICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnkoKSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKaW5kZXggMjAxNTNlOS4u
NDM1ZmVjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VD
bGlwcGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVy
LmgKQEAgLTM2LDcgKzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQ2xp
cHBlckRhdGEgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVyRGF0YSB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGNs
aXBNYXNrSW1hZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
ZWxlY3Rpb25JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgK
aW5kZXggYTA5ZmMxYS4uMjNiNWU2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2VsZWN0aW9uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlv
bkluZm8uaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJl
bmRlclNlbGVjdGlvbkluZm9CYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJT
ZWxlY3Rpb25JbmZvQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
UmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAgICAgICA6IG1fb2JqZWN0KDApCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmgKaW5kZXggMDdmOTMzZi4uMTMzZWI3OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
aApAQCAtMjU0LDcgKzI1NCw4IEBAIHZvaWQgdG9SZW5kZXJWaWV3KGNvbnN0IFJlbmRlclZpZXcq
KTsKIAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Npc3Qgd2l0aCBMYXlvdXRTdGF0ZSBw
dXNoL3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoKICAgICAvLyBjdG9yIHRvIHB1c2gg
bm93CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcqIHZpZXcsIFJlbmRlckJv
eCogcm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFsc2UsIGludCBw
YWdlSGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBDb2x1bW5JbmZv
KiBjb2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dFByb3RlY3Rvci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgK
aW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0
UHJvdGVjdG9yLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgOiBwcml2YXRlIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlbmRlcldpZGdldFByb3RlY3RvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVy
V2lkZ2V0UHJvdGVjdG9yKTsKIHB1YmxpYzoKICAgICBSZW5kZXJXaWRnZXRQcm90ZWN0b3IoUmVu
ZGVyV2lkZ2V0KiBvYmplY3QpCiAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCmluZGV4IDliY2M3YTQuLjkyMjU4MDUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAog
I2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMiw3ICszMSw4IEBA
IGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFJlbmRlck9i
amVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjcmVhdGVJbWFn
ZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRS
ZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25QdHI8SW1hZ2VCdWZmZXI+JiwgQ29s
b3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3VidHJlZVRvSW1hZ2VCdWZmZXIoSW1h
Z2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAppbmRleCA4ZjU5NzAzNS4uMDcyYjRiYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaApAQCAtMjMsNyArMjMsNiBA
QAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAi
U1ZHTWFya2VyRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgc3RydWN0IE1hcmtlckxheW91dCB7CiAg
ICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07CiAKLWNsYXNzIFNWR01hcmtlckxheW91dElu
Zm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHTWFya2VyTGF5b3V0SW5mbyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFya2VyTGF5b3V0SW5mbyk7CiBwdWJsaWM6CiAg
ICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAgIH5TVkdNYXJrZXJMYXlvdXRJbmZvKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlcy5oCmluZGV4IDQ5NTkxY2YuLjY1OTkxYWQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR1Jlc291cmNlcy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTM4
LDcgKzM3LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI7CiBjbGFzcyBTVkdSZW5k
ZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBh
IFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3Vy
Y2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXMo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKaW5kZXggNGE2MTU3MC4uODI3
YWMwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0zMSw3ICszMSw4
IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7
CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGUoKTsKICAgICB+U1ZHUmVzb3VyY2VzQ2FjaGUo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVy
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCmluZGV4IGU2
M2VlNjMuLjM0MTI1OGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNl
c0N5Y2xlU29sdmVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVT
b2x2ZXIuaApAQCAtMjksNyArMjksOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1Jlc291cmNlczsKIAotY2xhc3MgU1ZH
UmVzb3VyY2VzQ3ljbGVTb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVz
b3VyY2VzQ3ljbGVTb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNl
c0N5Y2xlU29sdmVyKTsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcihSZW5k
ZXJPYmplY3QqLCBTVkdSZXNvdXJjZXMqKTsKICAgICB+U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9UYWJsZUxheW91dC5oCmluZGV4IGUwZmE4ZWUuLmQ5ZWQxOTggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVGFibGVMYXlvdXQuaApAQCAtMjEsMTMgKzIxLDEzIEBACiAjaWZuZGVmIFRhYmxlTGF5b3V0
X2gKICNkZWZpbmUgVGFibGVMYXlvdXRfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVGFibGU7CiAKLWNsYXNzIFRh
YmxlTGF5b3V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRhYmxlTGF5b3V0IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYWJsZUxheW91dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgVGFibGVMYXlvdXQoUmVuZGVyVGFibGUqIHRhYmxlKQogICAgICAg
ICA6IG1fdGFibGUodGFibGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zv
cm1TdGF0ZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAppbmRleCAwYjRj
YTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0
ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKQEAgLTMxLDE0ICsz
MSwxNCBAQAogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNp
bmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgVHJhbnNmb3JtU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNm
b3JtU3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVN0YXRlKTsKIHB1
YmxpYzoKICAgICBlbnVtIFRyYW5zZm9ybURpcmVjdGlvbiB7IEFwcGx5VHJhbnNmb3JtRGlyZWN0
aW9uLCBVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiB9OwogICAgIGVudW0gVHJhbnNm
b3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRyYW5zZm9ybSwgQWNjdW11bGF0ZVRyYW5zZm9ybSB9
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAppbmRleCA0ZGVhZWY1
Li5iMjViMmY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaApA
QCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQgUG9zaXRpb25Ub3AgPSAtMHg3ZmZmZmZmZjsKIGNv
bnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25V
bmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1jbGFzcyBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUpOwogcHVibGljOgogICAg
IFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAgICAgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29u
dGVudERhdGEuaAppbmRleCA0Zjk2NGEyLi5mMjNlNzA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0NvbnRlbnREYXRhLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBTdHlsZUltYWdlOwogCi1zdHJ1Y3QgQ29udGVudERhdGEgOiBOb25jb3B5YWJsZSB7Citz
dHJ1Y3QgQ29udGVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRlbnREYXRh
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb250ZW50RGF0YSgpCiAg
ICAgICAgIDogbV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3Vu
dGVyQ29udGVudC5oCmluZGV4IDUyNzU3YWQuLmRkZjliMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQ291bnRlckNvbnRlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBpZGVudGlmaWVyLCBF
TGlzdFN0eWxlVHlwZSBzdHlsZSwgY29uc3QgQXRvbWljU3RyaW5nJiBzZXBhcmF0b3IpCiAgICAg
ICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9GaWxsTGF5ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXll
ci5oCmluZGV4IDQ5ZmIyOTQuLmM2ZWU1MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0ZpbGxMYXllci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXll
ci5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBGaWxsU2l6ZSB7CiAgICAgTGVuZ3RoU2l6ZSBz
aXplOwogfTsKIAotY2xhc3MgRmlsbExheWVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xh
c3MgRmlsbExheWVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IEZpbGxMYXllcihFRmlsbExheWVyVHlwZSk7CiAgICAgfkZpbGxMYXllcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU2hhZG93RGF0YS5oCmluZGV4IGNhODNhZjAuLjUwY2YwYmUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNkZWZpbmUgU2hhZG93
RGF0YV9oCiAKICNpbmNsdWRlICJDb2xvci5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBlbnVtIFNoYWRv
d1N0eWxlIHsgTm9ybWFsLCBJbnNldCB9OwogCiAvLyBUaGlzIHN0cnVjdCBob2xkcyBpbmZvcm1h
dGlvbiBhYm91dCBzaGFkb3dzIGZvciB0aGUgdGV4dC1zaGFkb3cgYW5kIGJveC1zaGFkb3cgcHJv
cGVydGllcy4KIAotY2xhc3MgU2hhZG93RGF0YSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIFNoYWRvd0RhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgU2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAg
c3RydWN0IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQgdGhlIGFjdHVh
bCBwZXItY2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9y
IGVhY2ggY2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cyAo
U1ZHVGV4dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBtb2RpZmljYXRp
b25zIHRoYXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5r
ICh0ZXh0LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVibGljOgogICAg
IFNWR1RleHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFjNjQuLmM2ODE4
NWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0
dHJpYnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHVGV4dDsK
IC8vIHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUgYmFzZWQgb24gdGV4dCBjaHVuayBib3Vu
ZGFyaWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRoZSBzZWNvbmQgbGF5b3V0IHBoYXNlIGlz
IGNhcnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUuCiAKLWNsYXNzIFNWR1RleHRMYXlv
dXRBdHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0
TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Rl
eHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEF0
dHJpYnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWlsZExheW91dEF0dHJpYnV0ZXNGb3JUZXh0
U3VidHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHVGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgU1ZH
UmVuZGVyU3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0byBjb21wdXRl
IHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGljaCBhcmUgc3Rv
cmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZSk7CiBwdWJs
aWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVua0J1aWxkZXIm
IGNodW5rTGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWlsZGVyOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmgKaW5kZXggZDc1M2IzOS4uYWMzOTNlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApAQCAtMjIsNyArMjIsNiBAQAogCiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMyw3ICsz
Miw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHVGV4dE1ldHJpY3M7CiAKIC8v
IEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdhbGln
bm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5lJyBhbmQgJ2Jhc2VsaW5lLXNoaWZ0
Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSk7CiBwdWJsaWM6CiAgICAgU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAppbmRleCAwYTZkNzM2
Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91
dEVuZ2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91
dEVuZ2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsK
IGNsYXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlv
dXRFbmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICdsZXR0ZXItc3BhY2luZycgYW5kICd3b3Jk
LXNwYWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nKTsKIHB1YmxpYzoKICAg
ICBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFz
ZVRhc2suaAppbmRleCBiNjFlNDY1Li5jZTBiYTRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCkBA
IC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJlIHVzZWQgdG8g
d2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRvIGJlIHBhc3Nl
ZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFz
ay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0YWJhc2VUYXNr
U3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNlbmRpZgogfTsK
IAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFi
YXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNrKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5EYXRhYmFzZVRhc2soKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oIGIvV2ViQ29y
ZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCmluZGV4IDcxNDVlNmIuLmE2MWQ5ZWIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAorKysgYi9XZWJDb3JlL3N0
b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKQEAgLTU2LDcgKzU2LDggQEAgY2xhc3MgRGF0YWJhc2VU
cmFja2VyQ2xpZW50Owogc3RydWN0IFNlY3VyaXR5T3JpZ2luVHJhaXRzOwogI2VuZGlmIC8vICFQ
TEFURk9STShDSFJPTUlVTSkKIAotY2xhc3MgRGF0YWJhc2VUcmFja2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGF0YWJhc2VUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCBpbml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0
aCk7CiAgICAgc3RhdGljIERhdGFiYXNlVHJhY2tlciYgdHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCBiL1dlYkNvcmUv
c3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKaW5kZXggNzgzYTczMS4uNGZj
YzIzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1v
bml0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRv
ci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQsNyArNDMsOCBAQCBjbGFzcyBJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2U7CiAvLyBGSVhNRTogbW92ZSB0aGUgdmVjdG9yIG9mIHRyYW5zYWN0
aW9ucyB0byBUTFMuIEtlZXBpbmcgaXQgc3RhdGljCiAvLyB3aWxsIG5vdCB3b3JrIG9uY2Ugd2Ug
YWRkIHN1cHBvcnQgZm9yIHdvcmtlcnMuIEFub3RoZXIgcG9zc2libGUKIC8vIHNvbHV0aW9uIGlz
IHRvIGtlZXAgdGhlIHZlY3RvciBpbiB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KLWNsYXNz
IElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZv
aWQgYWRkUGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSop
OwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0
b3JhZ2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCmluZGV4IGEy
ZTM1ZWEuLjQ2NzIwNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VU
YXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaApAQCAtMzcsNyAr
MzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFk
OwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIGNsYXNzIHRvIFN0b3JhZ2VUYXNrCi0gICAg
Y2xhc3MgTG9jYWxTdG9yYWdlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
TG9jYWxTdG9yYWdlVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsU3Rv
cmFnZVRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5bmMsIERlbGV0ZUVtcHR5RGF0YWJhc2UsIFRl
cm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9y
YWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKaW5kZXgg
NmYwNTkxMS4uMjRmZTE5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFn
ZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAt
NDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdl
VGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFk
Ci0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGhyZWFkPiBjcmVhdGUo
KTsKICAgICAgICAgfkxvY2FsU3RvcmFnZVRocmVhZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9z
dG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3Rh
TWFuYWdlci5oCmluZGV4IGVjOTYyMGMuLmFjMjhhNzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Rv
cmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVv
dGFNYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
QWJzdHJhY3REYXRhYmFzZTsKIGNsYXNzIE9yaWdpblVzYWdlUmVjb3JkOwogCi1jbGFzcyBPcmln
aW5RdW90YU1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgT3JpZ2luUXVvdGFN
YW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5RdW90YU1hbmFnZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE9yaWdpblF1b3RhTWFuYWdlcigp
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaCBiL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCmluZGV4IGE4MzBlNjguLmQ2YWU1OTgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogLy8gT2JqZWN0cyBvZiB0aGlzIGNsYXNzIGNhbiBiZSB1c2VkIGZy
b20gbXVsdGlwbGUgdGhyZWFkcyB3aXRoIGV4dGVybmFsIHN5bmNocm9uaXphdGlvbi4KIC8vIFN0
cmluZyBhcmd1bWVudHMgYXJlIGFsc28gc3VwcG9zZWQgdG8gYmUgZGVlcGx5IGNvcGllZCBieSB0
aGUgY2FsbGVyIHdoZW4gbmVjZXNzYXJ5LgotY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKE9yaWdpblVzYWdlUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJlY29yZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFu
c2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2NTcuLmQ1NjdhNGYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpZiBFTkFCTEUoREFU
QUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC00MSw4ICs0MCwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAvLyBB
IGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2FjdGlv
biB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdzIGhh
dmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1FMVHJhbnNhY3Rpb25DbGllbnQoKSB7IH0KICAg
ICB2b2lkIGRpZENvbW1pdFdyaXRlVHJhbnNhY3Rpb24oQWJzdHJhY3REYXRhYmFzZSopOwogICAg
IHZvaWQgZGlkRXhlY3V0ZVN0YXRlbWVudChBYnN0cmFjdERhdGFiYXNlKik7CiAgICAgYm9vbCBk
aWRFeGNlZWRRdW90YShBYnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0
b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IuaAppbmRleCA5NDM2MGMwLi4zNDI1NjY0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKQEAgLTQzLDggKzQzLDEwIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uOwogCi0gICAg
Y2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcigpIHsg
fQogICAgICAgICB2b2lkIGFjcXVpcmVMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZv
aWQgcmVsZWFzZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCBzaHV0ZG93bigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmggYi9XZWJD
b3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAppbmRleCBhMGNmMmJiLi4xNTVkMGExIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAorKysgYi9XZWJD
b3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaApAQCAtMzgsNyArMzgsOCBAQCBjbGFzcyBT
VkdTdHlsZWRFbGVtZW50OwogY2xhc3MgU1ZHU01JTEVsZW1lbnQ7CiBjbGFzcyBTVkdTVkdFbGVt
ZW50OwogCi1jbGFzcyBTVkdEb2N1bWVudEV4dGVuc2lvbnMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdEb2N1bWVudEV4dGVuc2lvbnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8U1ZHU3R5bGVkRWxlbWVudD4gPiBTVkdQZW5k
aW5nRWxlbWVudHM7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKERvY3VtZW50Kik7CkBAIC02
OCw5ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFNWR1BlbmRp
bmdFbGVtZW50cyo+IG1fcGVuZGluZ1Jlc291cmNlczsKICAgICBPd25QdHI8U1ZHUmVzb3VyY2Vz
Q2FjaGU+IG1fcmVzb3VyY2VzQ2FjaGU7CiAKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoY29u
c3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJiBv
cGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0KIHB1YmxpYzoKICAgICAv
LyBUaGlzIEhhc2hNYXAgY29udGFpbnMgYSBsaXN0IG9mIHBlbmRpbmcgcmVzb3VyY2VzLiBQZW5k
aW5nIHJlc291cmNlcywgYXJlIHN1Y2gKICAgICAvLyB3aGljaCBhcmUgcmVmZXJlbmNlZCBieSBh
bnkgb2JqZWN0IGluIHRoZSBTVkcgZG9jdW1lbnQsIGJ1dCBkbyBOT1QgZXhpc3QgeWV0LgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmggYi9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50UmFyZURhdGEuaAppbmRleCA0Mjc2YzRhLi43NWJkNDNiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50UmFyZURhdGEuaApAQCAtMjEsNyArMjEsNiBAQAogI2RlZmluZSBTVkdFbGVtZW50UmFyZURh
dGFfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTMxLDcgKzMwLDggQEAgY2xhc3MgU1ZHQ3Vyc29yRWxlbWVudDsKIGNsYXNzIFNWR0Vs
ZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiAKLWNsYXNzIFNWR0VsZW1lbnRSYXJl
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0VsZW1lbnRSYXJlRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHRWxlbWVudFJhcmVEYXRhKCkKICAgICAgICAg
OiBtX2N1cnNvckVsZW1lbnQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRh
LmggYi9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCmluZGV4IGU4OTdhNTkuLjI5NDFhOWUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZH
Rm9udERhdGEuaApAQCAtMjUsNyArMjUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR0ZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ZvbnREYXRh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdGb250RGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHRm9udERhdGEoU1ZHRm9udEZhY2VFbGVtZW50Kik7
CiAgICAgdmlydHVhbCB+U1ZHRm9udERhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Zn
L1NWR1BhdGhCbGVuZGVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCmluZGV4IGMw
YWU3ZjMuLjcyOWVkNTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgK
KysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJT
VkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aEJsZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHUGF0aEJsZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Bh
dGhCbGVuZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTVkdQYXRo
QmxlbmRlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5o
IGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAppbmRleCBiODg4MmI2Li5jYWJmYjJk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCisrKyBiL1dlYkNv
cmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZH
UGF0aEJ5dGVTdHJlYW1faAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIApAQCAtNDMsNyArNDIsOCBAQCB0eXBlZGVmIHVuaW9uIHsKICAgICB1bnNpZ25lZCBj
aGFyIGJ5dGVzW3NpemVvZih1bnNpZ25lZCBzaG9ydCldOwogfSBVbnNpZ25lZFNob3J0Qnl0ZTsK
IAotY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1ZHUGF0aEJ5dGVTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCeXRl
U3RyZWFtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1l
ci5oCmluZGV4IGI3YzVlNzMuLjRkNTdlNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhDb25zdW1lci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCkBAIC0yNiw3
ICsyNiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00
MCw4ICszOSwxMCBAQCBlbnVtIFBhdGhQYXJzaW5nTW9kZSB7CiAgICAgVW5hbHRlcmVkUGFyc2lu
ZwogfTsKIAotY2xhc3MgU1ZHUGF0aENvbnN1bWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR1BhdGhDb25zdW1lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aENv
bnN1bWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoQ29u
c3VtZXIoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgaW5jcmVtZW50UGF0aFNlZ21lbnRDb3VudCgp
ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgY29udGludWVDb25zdW1pbmcoKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGNsZWFudXAoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRo
UGFyc2VyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKaW5kZXggNzY3OWE5NS4uYzQ4
YjIxNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCisrKyBiL1dlYkNv
cmUvc3ZnL1NWR1BhdGhQYXJzZXIuaApAQCAtMjksMTIgKzI5LDEyIEBACiAjaW5jbHVkZSAiU1ZH
UGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZy5oIgogI2luY2x1ZGUgIlNWR1Bh
dGhTb3VyY2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhQYXJz
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aFBhcnNlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgU1ZHUGF0aFBhcnNlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU291cmNlLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKaW5kZXggZDFh
NjE0OS4uY2Y0Y2QwMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCisr
KyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaApAQCAtMjUsOCArMjUsMTAgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoU291cmNlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR1BhdGhTb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1BhdGhTb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNWR1Bh
dGhTb3VyY2UoKSB7IH0KICAgICB2aXJ0dWFsIH5TVkdQYXRoU291cmNlKCkgeyB9CiAKICAgICB2
aXJ0dWFsIGJvb2wgaGFzTW9yZURhdGEoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N2Zy9TVkdWaWV3U3BlYy5oIGIvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAppbmRleCBkZDQ2
NmVmLi4wZjBjY2JjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCisrKyBi
L1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKQEAgLTM0LDggKzM0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNWR1RyYW5zZm9ybUxpc3Q7CiAKICAgICBjbGFzcyBTVkdWaWV3
U3BlYyA6IHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3gsCi0gICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgU1ZHWm9vbUFuZFBhbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1ZpZXdTcGVjKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQq
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IGM5ODA0YWUuLjkxNjI2YzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9XZWJDb3Jl
L3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKQEAgLTU1LDcgKzU1LDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNo
cm9tZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ltYWdlQ2hyb21lQ2xp
ZW50IDogcHVibGljIEVtcHR5Q2hyb21lQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdJbWFnZUNocm9tZUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgU1ZHSW1hZ2VDaHJvbWVDbGllbnQoU1ZHSW1hZ2UqIGltYWdlKQogICAgICAgICA6IG1f
aW1hZ2UoaW1hZ2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlz
ZXIuaCBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCmluZGV4IDY4NmMxN2Mu
LmNjNzkxZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5o
CisrKyBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBAIC0zOSw3ICszOSw4
IEBAIGNsYXNzIEZsb2F0MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7CiAjZW5kaWYKIAotY2xh
c3MgUmVhbHRpbWVBbmFseXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFsdGlt
ZUFuYWx5c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFsdGltZUFuYWx5c2VyKTsK
IHB1YmxpYzoKICAgICBSZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmlydHVhbCB+UmVhbHRpbWVB
bmFseXNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuaAppbmRleCAwNWIzNzY3Li44ZjNmMTU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNv
Y2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tl
dHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtMzQsNyArMzQsNiBAQAogI2lmIEVO
QUJMRShXRUJfU09DS0VUUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDMsOCArNDIsMTAgQEAgY2xhc3MgS1VSTDsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCi1jbGFz
cyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwpOwogcHVibGljOgorICAgIFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsKCkgeyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViU29ja2V0Q2hh
bm5lbENsaWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBjb25uZWN0KCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmgKaW5kZXggOWM1MjM3Ny4uMTk3MzljOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbCA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVudCwgY29uc3QgS1VSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIHByb3RvY29sKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViU29ja2V0
Q2hhbm5lbChjb250ZXh0LCBjbGllbnQsIHVybCwgcHJvdG9jb2wpKTsgfQogICAgICAgICB2aXJ0
dWFsIH5XZWJTb2NrZXRDaGFubmVsKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0SGFuZHNoYWtlLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNo
YWtlLmgKaW5kZXggYTViNDI2MC4uMzcxZDg1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRIYW5kc2hha2UuaApAQCAtMzcsMTMgKzM3LDEzIEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAi
V2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIAotICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2ViU29ja2V0SGFuZHNoYWtlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0g
TW9kZSB7CiAgICAgICAgICAgICBJbmNvbXBsZXRlLCBOb3JtYWwsIEZhaWxlZCwgQ29ubmVjdGVk
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbC5oCmluZGV4IDM2NmU0ZmEuLmFjODNlOGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vi
c29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUv
d2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC01Miw2ICs1
Miw3IEBAIGNsYXNzIFdvcmtlckxvYWRlclByb3h5OwogY2xhc3MgV29ya2VyUnVuTG9vcDsKIAog
Y2xhc3MgV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4sIHB1YmxpYyBUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFdv
cmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVu
dCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcm
IHByb3RvY29sKQogICAgIHsKQEAgLTc3LDcgKzc4LDggQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToK
ICAgICAvLyBHZW5lcmF0ZWQgYnkgdGhlIGJyaWRnZS4gIFRoZSBQZWVyIGFuZCBpdHMgYnJpZGdl
IHNob3VsZCBoYXZlIGlkZW50aWNhbAogICAgIC8vIGxpZmV0aW1lcy4KLSAgICBjbGFzcyBQZWVy
IDogcHVibGljIFdlYlNvY2tldENoYW5uZWxDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGVlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgUGVlciogY3JlYXRlKFJlZlB0cjxUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbENsaWVudFdyYXBwZXI+IGNsaWVudFdyYXBwZXIsIFdvcmtlckxvYWRlclBy
b3h5JiBsb2FkZXJQcm94eSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3Qg
U3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29s
KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdv
cmtlclJlcG9zaXRvcnkuaCBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5oCmluZGV4IDIxZTE0YTEuLjY4Zjk2MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29y
a2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCisrKyBiL1dlYkNvcmUvd29ya2Vy
cy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgU2hhcmVkV29ya2VyUHJveHk7CiAKICAgICAvLyBQbGF0Zm9ybS1zcGVjaWZpYyBp
bXBsZW1lbnRhdGlvbiBvZiB0aGUgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSBzdGF0aWMgaW50ZXJm
YWNlLgotICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEludm9r
ZWQgb25jZSB0aGUgd29ya2VyIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgdG8gZmlyZSB1cCB0aGUg
d29ya2VyIHRocmVhZC4KICAgICAgICAgdm9pZCB3b3JrZXJTY3JpcHRMb2FkZWQoU2hhcmVkV29y
a2VyUHJveHkmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiB3b3JrZXJT
Y3JpcHQsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsPik7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRl
eHQuaAppbmRleCA1ZDE1ZDk0Li4wODQ2NDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKQEAg
LTE0NSw3ICsxNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgaXNDbG9z
aW5nKCkgeyByZXR1cm4gbV9jbG9zaW5nOyB9CiAKICAgICAgICAgLy8gQW4gb2JzZXJ2ZXIgaW50
ZXJmYWNlIHRvIGJlIG5vdGlmaWVkIHdoZW4gdGhlIHdvcmtlciB0aHJlYWQgaXMgZ2V0dGluZyBz
dG9wcGVkLgotICAgICAgICBjbGFzcyBPYnNlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIE9ic2VydmVyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE9ic2VydmVyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgT2JzZXJ2ZXIoV29ya2Vy
Q29udGV4dCopOwogICAgICAgICAgICAgdmlydHVhbCB+T2JzZXJ2ZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggMzM5MzdjZS4uYTJlYzQ1ZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRl
ICJXb3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlck9iamVjdFByb3h5LmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDYsNyArNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBXb3JrZXI7
CiAKLSAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0
UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5
LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IDog
cHVibGljIFdvcmtlckNvbnRleHRQcm94eSwgcHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJs
aWMgV29ya2VyTG9hZGVyUHJveHkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3Jr
ZXJNZXNzYWdpbmdQcm94eSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBXb3JrZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1
bkxvb3AuY3BwCmluZGV4IDgzZjI0M2YuLjdiMzE0OWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9v
cC5jcHAKQEAgLTEwNCw3ICsxMDQsOCBAQCBTdHJpbmcgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1v
ZGUoKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotY2xhc3MgUnVuTG9vcFNldHVwIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJ1bkxvb3BTZXR1cCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUnVuTG9vcFNldHVwKTsKIHB1YmxpYzoKICAgICBSdW5Mb29wU2V0dXAoV29ya2Vy
UnVuTG9vcCYgcnVuTG9vcCkKICAgICAgICAgOiBtX3J1bkxvb3AocnVuTG9vcCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmggYi9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyUnVuTG9vcC5oCmluZGV4IDlkNGVkZmQuLmZhMWJjZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxv
b3AuaApAQCAtNjUsNyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3Rh
dGljIFN0cmluZyBkZWZhdWx0TW9kZSgpOwogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUYXNrPiBjcmVhdGUoUGFzc093blB0
cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrLCBjb25zdCBTdHJpbmcmIG1vZGUp
OwogICAgICAgICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXgg
ZjYxMTIwZS4uNGFhOWY4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTM4LDcgKzM4
LDYgQEAKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgiCiAKICNpbmNsdWRlIDx1dGlsaXR5
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQog
I2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgpAQCAtNjEsNyArNjAsOCBAQCB1bnNpZ25lZCBXb3Jr
ZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKICAgICByZXR1cm4gbV90aHJlYWRDb3VudDsK
IH0KIAotc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIDogTm9uY29weWFibGUgeworc3Ry
dWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
b3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+IGNyZWF0ZShj
b25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDYxMDM3MDMu
LjY5MmMwZDhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysr
IGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC02NSw3ICs2NSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciB4bWxIdHRw
UmVxdWVzdENvdW50ZXIoIlhNTEh0dHBSZXF1ZXN0Iik7CiAjZW5kaWYKIAotc3RydWN0IFhNTEh0
dHBSZXF1ZXN0U3RhdGljRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBYTUxIdHRwUmVxdWVz
dFN0YXRpY0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTEh0dHBSZXF1ZXN0U3Rh
dGljRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgWE1MSHR0cFJl
cXVlc3RTdGF0aWNEYXRhKCk7CiAgICAgU3RyaW5nIG1fcHJveHlIZWFkZXJQcmVmaXg7CiAgICAg
U3RyaW5nIG1fc2VjSGVhZGVyUHJlZml4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuaCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggMDk4ZTE5Zi4u
OWIxZDI2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIFRleHRS
ZXNvdXJjZURlY29kZXI7CiBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiBjbGFzcyBYTUxIdHRw
UmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFhNTEh0dHBSZXF1ZXN0PiwgcHVibGljIEV2ZW50
VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01P
YmplY3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgWE1MSHR0cFJlcXVlc3QoY29udGV4dCkp
OyB9CiAgICAgflhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0
aEV4cHJlc3Npb25Ob2RlLmggYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKaW5k
ZXggYzA0ZDQ1Yi4uNmE3M2I4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNz
aW9uTm9kZS5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMzks
NyArMzksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewog
ICAgICAgICAKLSAgICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IDogRmFzdEFsbG9jQmFz
ZSB7CisgICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCB7CisgICAgICAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVmUHRy
PE5vZGU+IG5vZGU7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemU7CiAgICAgICAgICAg
ICB1bnNpZ25lZCBsb25nIHBvc2l0aW9uOwpAQCAtNTMsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KICAgICAgICAgfTsK
IAotICAgICAgICBjbGFzcyBFeHByZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSwgcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXhwcmVzc2lvbik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBFdmFs
dWF0aW9uQ29udGV4dCYgZXZhbHVhdGlvbkNvbnRleHQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS94bWwvWFBhdGhOb2RlU2V0LmggYi9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAppbmRleCBk
NWM0N2JlLi5kODk3ZGE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAor
KysgYi9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogCi0gICAgICAgIGNsYXNzIE5v
ZGVTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIGNsYXNzIE5vZGVTZXQgewor
ICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgTm9kZVNldCgpIDogbV9pc1NvcnRlZCh0cnVlKSwgbV9zdWJ0cmVlc0FyZURpc2pv
aW50KGZhbHNlKSB7IH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBh
dGhQYXJzZXIuaCBiL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKaW5kZXggNDRhOGU0OC4uNDBi
NzNkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAorKysgYi9XZWJDb3Jl
L3htbC9YUGF0aFBhcnNlci5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgICAgIFRva2VuKGludCB0LCBFcVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBl
cW9wKHYpIHt9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBhcnNlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFBhcnNl
cigpOwogICAgICAgICAgICAgflBhcnNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBh
dGhQcmVkaWNhdGUuaCBiL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKaW5kZXggNWYyNDgy
YS4uZTdlMWJjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysg
Yi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCkBAIC0xMDUsNyArMTA1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogICAgICAgICB9OwogCi0g
ICAgICAgIGNsYXNzIFByZWRpY2F0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIFByZWRpY2F0ZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVkaWNh
dGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQcmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAgICAgICAgICAgflByZWRpY2F0ZSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmggYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAu
aAppbmRleCBlYzAyMmIzLi5mNzcwZDk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFN0
ZXAuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xhc3MgUHJlZGljYXRlOwogICAgICAgICAKLSAg
ICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFN0ZXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAg
ICBwdWJsaWM6CiAgICAgICAgICAgICBlbnVtIEF4aXMgewogICAgICAgICAgICAgICAgIEFuY2Vz
dG9yQXhpcywgQW5jZXN0b3JPclNlbGZBeGlzLCBBdHRyaWJ1dGVBeGlzLApAQCAtNDksNyArNTAs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAgICAgU2VsZkF4aXMKICAgICAg
ICAgICAgIH07CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICAgICAgY2xhc3MgTm9kZVRlc3QgeworICAgICAg
ICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICAgICAgZW51bSBLaW5kIHsKICAgICAgICAgICAgICAgICAgICAgVGV4dE5vZGVU
ZXN0LCBDb21tZW50Tm9kZVRlc3QsIFByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlO
b2RlVGVzdCwgTmFtZVRlc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUu
aCBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAppbmRleCBmM2E5MzE4Li4xZmVhNWJhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKKysrIGIvV2ViQ29yZS94bWwv
WFNMSW1wb3J0UnVsZS5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENhY2hlZFhTTFN0eWxlU2hlZXQ7CiAKIGNsYXNzIFhTTEltcG9ydFJ1bGUgOiBwdWJsaWMg
U3R5bGVCYXNlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhTTEltcG9ydFJ1
bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVm
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGI2ZWJhMjEuLjM3ZGRkZTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTI1ICBab2x0YW4g
SG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGlu
ZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5k
IHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4ICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAqIFN0cmluZ3NOb3RUb0Jl
TG9jYWxpemVkLnR4dDogVXBkYXRlZCBmb3IgcmVjZW50IGNoYW5nZXMuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Jv
dW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4uNDNkYjc5ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRP
YmplY3QuaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIEJvdW5kT2JqZWN0X2gKIAogI2lu
Y2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiAvLyBCb3VuZE9iamVjdCBpcyBhIGhlbHBlciBjbGFzcyB0aGF0IGxldHMgeW91
IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxscwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBj
YWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbmNlIEpTIG9iamVjdCBpcwogLy8gYnVpbHQu
Ci1jbGFzcyBCb3VuZE9iamVjdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBCb3VuZE9i
amVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQm91bmRPYmplY3QpOwogcHVibGljOgog
ICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQsIHZvaWQqIHY4
VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFtZSk7CiAgICAgdmlydHVhbCB+Qm91bmRPYmplY3Qo
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
Y3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXgg
MDg2MGNiMS4uNTljMjE3NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50
TWFuYWdlci5jcHAKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIK
ICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0
ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01NSw3ICs1NCw4IEBAIGJvb2wgRGVi
dWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3NlVjhEZWJ1Z2dlclByb3RvY29sID0gZmFsc2U7CiAK
IG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6
OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWxsZXJJZFdyYXBwZXIg
OiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGljOgogICAgIENhbGxlcklkV3JhcHBlcigpIDogbV9j
YWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9jYWxsZXJJZCgwKSB7IH0KICAgICBleHBsaWNpdCBD
YWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklkKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3MTQuLmI3ODU2Y2YgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAorKysgYi9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRl
IDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYzLDcgKzYyLDggQEAgY2xhc3MgV2Vi
Vmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qgc29tZSBhY3Rpb25zIGZyb20gdGhlIGhhbmRsZXIu
IElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlCiAvLyBkZWJ1Z2dlciBhZ2VudCB0byBoYW5kbGUg
c3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3aWxsIHBlcmZvcm0gdGhlIGFjdGlvbgogLy8gaXRz
ZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcgd2FpdGluZyBmb3IgdGhlIGFjdGlvbi4KLWNsYXNz
IERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlYnVn
Z2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWJ1Z2dlckFnZW50
TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVidWdBdHRhY2goRGVidWdnZXJB
Z2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRlYnVnRGV0YWNoKERl
YnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4IGZjMjFmM2UuLjA1OTZjYWQg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGxfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0OwpAQCAtNDQsOCArNDMsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6
Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKTsKIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoV2ViQ29yZTo6UGFnZSosIFdlYkRldlRv
b2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCopOwogICAgIHZpcnR1
YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAppbmRleCA4ODBhZGI0Li4wMjI2ZWYzIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApAQCAtNTgsNyArNTgs
NiBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5o
IgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogdXNpbmcgV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRl
bmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgK
aW5kZXggODY2YTFjYi4uYjA4NTMzOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2
VG9vbHNGcm9udGVuZEltcGwuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNTUsOCArNTQsOCBA
QCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogdXNpbmcgV1RGOjpTdHJpbmc7CiAK
LWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9v
bHNGcm9udGVuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpX
ZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJEZXZUb29s
c0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAgICAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwoCiAg
ICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwqIHdlYlZpZXdJbXBsLApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCmluZGV4IDQ0MjJlMWIuLjI2Yjk2YmMgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4MCw3ICsyODAsOCBAQCBXZWJQbHVnaW5Db250YWluZXJJ
bXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShGcmFtZSogZnJhbWUp
CiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVycmlkZSBzb21lIG9mIFByaW50Q29udGV4dCBiZWhh
dmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwogLy8gbWFkZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBj
YW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBsdWdpblByaW50Q29udGV4dC4KLWNsYXNzIENocm9t
ZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmludENvbnRleHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQcmludENvbnRleHQpOwogcHVibGljOgogICAgIENo
cm9tZVByaW50Q29udGV4dChGcmFtZSogZnJhbWUpCiAgICAgICAgIDogUHJpbnRDb250ZXh0KGZy
YW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAppbmRleCAyMjFiYTAzLi40
ZmQ0MmE2IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiAr
NTYsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIGNsYXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMg
V2ViUG9wdXBNZW51LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpG
cmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudUltcGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIC8vIFdlYldpZGdldAogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyRWZsLmggYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXJFZmwuaAppbmRleCA0YmJhZTI1Li42N2M0NjA4IDEwMDY0NAotLS0gYS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwuaAorKysg
Yi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwu
aApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcik7CiBwdWJs
aWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZpcnR1YWwgfkZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggZDRiYmVhMi4uM2ZiOGIxNiAx
MDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyLmgKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50
LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0
dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3du
bG9hZC5jcHAKaW5kZXggMThiNjRhYi4uZTI2YTVjNCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRv
d25sb2FkLmNwcApAQCAtMjIsNyArMjIsNiBAQAogCiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIu
aD4KICNpbmNsdWRlICJHUmVmUHRyLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNs
dWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtNTQsNyArNTMsOCBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAqIG91dCB3aGF0IGlzIHRvIGJlIGRvd25sb2FkZWQs
IGFuZCBkbyBpdCBpdHNlbGYuCiAgKi8KIAotY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMg
Tm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBEb3dubG9h
ZENsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRG93bmxvYWRDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgRG93bmxvYWRD
bGllbnQoV2ViS2l0RG93bmxvYWQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9Gb3J3YXJk
aW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRl
cnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1MDgw
MjQuLjAwMDAwMDAKLS0tIGEvV2ViS2l0L21hYy9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbXBvcnQgPEphdmFTY3JpcHRD
b3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oIGIvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAppbmRleCBmNzg0YWRlLi40ZjJjNTY2IDEw
MDY0NAotLS0gYS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFu
Y2VQcm94eS5oCisrKyBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5LmgKQEAgLTMxMyw3ICszMTMsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgZGVt
YXJzaGFsVmFsdWVGcm9tQXJyYXkoSlNDOjpFeGVjU3RhdGUqLCBOU0FycmF5ICphcnJheSwgTlNV
SW50ZWdlciYgaW5kZXgsIEpTQzo6SlNWYWx1ZSYgcmVzdWx0KTsKICAgICB2b2lkIGRlbWFyc2hh
bFZhbHVlcyhKU0M6OkV4ZWNTdGF0ZSosIGRhdGFfdCB2YWx1ZXNEYXRhLCBtYWNoX21zZ190eXBl
X251bWJlcl90IHZhbHVlc0xlbmd0aCwgSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciYgcmVzdWx0
KTsKIAotICAgIGNsYXNzIExvY2FsT2JqZWN0TWFwIDogTm9uY29weWFibGUgeworICAgIGNsYXNz
IExvY2FsT2JqZWN0TWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxPYmpl
Y3RNYXApOwogICAgIHB1YmxpYzoKICAgICAgICAgTG9jYWxPYmplY3RNYXAoKTsKICAgICAgICAg
fkxvY2FsT2JqZWN0TWFwKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0
YWJhc2VUcmFja2VyQ2xpZW50Lm1tIGIvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbQppbmRleCAyOTEzNzM5Li42NWFiYTQzIDEwMDY0NAotLS0gYS9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCisrKyBiL1dlYktpdC9tYWMv
U3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KQEAgLTUyLDcgKzUyLDggQEAgV2Vi
RGF0YWJhc2VUcmFja2VyQ2xpZW50Ojp+V2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KCkKIHsKIH0K
IAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEaWRNb2Rp
ZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFRvTWFpblRo
cmVhZChXZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQqIGNsaWVudCwgU2VjdXJpdHlPcmlnaW4qIG9y
aWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oIGIvV2ViS2l0
L3F0L1dlYktpdF9wY2guaAppbmRleCAxZGQ0ZDUyLi5lMDk1ZWY0IDEwMDY0NAotLS0gYS9XZWJL
aXQvcXQvV2ViS2l0X3BjaC5oCisrKyBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKQEAgLTcyLDcg
KzcyLDYgQEAKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9UQ1N5
c3RlbUFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L1VudXNlZFBhcmFtLmg+CiAjaW5jbHVkZSA8d3RmL0Fsd2F5c0lubGluZS5oPgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oIGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFu
dC5oCmluZGV4IGE5M2EzYzIuLjY3MjUxMDcgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ09NRW51
bVZhcmlhbnQuaAorKysgYi9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKQEAgLTI5LDEyICsy
OSwxMiBAQAogI2RlZmluZSBOT01JTk1BWAogI2luY2x1ZGUgPHVua253bi5oPgogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlICJDT01WYXJpYW50U2V0dGVyLmgiCiAK
IHRlbXBsYXRlPHR5cGVuYW1lIENvbnRhaW5lclR5cGU+Ci1jbGFzcyBDT01FbnVtVmFyaWFudCA6
IHB1YmxpYyBJRW51bVZBUklBTlQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDT01FbnVt
VmFyaWFudCA6IHB1YmxpYyBJRW51bVZBUklBTlQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENPTUVudW1WYXJpYW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NRW51bVZhcmlhbnQqIGFk
b3B0KENvbnRhaW5lclR5cGUmKTsKICAgICBzdGF0aWMgQ09NRW51bVZhcmlhbnQqIGNyZWF0ZUlu
c3RhbmNlKGNvbnN0IENvbnRhaW5lclR5cGUmKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09N
UHJvcGVydHlCYWcuaCBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaAppbmRleCA2MTBjMzY3
Li4yYjU3YTY3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKKysrIGIv
V2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNkZWZpbmUg
Tk9NSU5NQVgNCiAjaW5jbHVkZSA8dW5rbnduLmg+DQogDQotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPg0KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPg0KIA0KICNpbmNsdWRlICJDT01WYXJp
YW50U2V0dGVyLmgiDQogDQogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZSBL
ZXlUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmcsIHR5cGVuYW1lIEhhc2hUeXBlID0gdHlwZW5h
bWUgV1RGOjpTdHJpbmdIYXNoPg0KLWNsYXNzIENPTVByb3BlcnR5QmFnIDogcHVibGljIElQcm9w
ZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIsIE5vbmNvcHlhYmxlIHsNCitjbGFzcyBDT01Q
cm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyIHsN
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ09NUHJvcGVydHlCYWcpOw0KIHB1YmxpYzoNCiAg
ICAgdHlwZWRlZiBIYXNoTWFwPEtleVR5cGUsIFZhbHVlVHlwZSwgSGFzaFR5cGU+IEhhc2hNYXBU
eXBlOw0KIA0KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ci5oIGIvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggOWFjOGM2
OS4uNzUzMTg4OCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyLmgKKysrIGIvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKQEAgLTEw
Miw3ICsxMDIsOCBAQCBwcml2YXRlOgogICAgIGludCBtX2RyYWdTdGFydE9mZnNldDsKIH07CiAK
LWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVGdWxsc2NyZWVuQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUZ1bGxzY3Jl
ZW5DbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2
aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
d2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdl
ci5jcHAKaW5kZXggYmRjYjU0OS4uZTJiODFlMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNw
cApAQCAtNTIsNyArNTIsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNFcXVhbChMUENXU1RSIHMx
LCBMUENXU1RSIHMyKQogICAgIHJldHVybiAhd2NzY21wKHMxLCBzMik7CiB9CiAKLWNsYXNzIERh
dGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnIDogcHVibGljIElQ
cm9wZXJ0eUJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VEZXRhaWxzUHJv
cGVydHlCYWcpOwogcHVibGljOgogICAgIHN0YXRpYyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJh
ZyogY3JlYXRlSW5zdGFuY2UoY29uc3QgRGF0YWJhc2VEZXRhaWxzJik7CiAKQEAgLTMyOCw3ICsz
MjksOCBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkRhdGFiYXNlTWFuYWdlcjo6ZGVs
ZXRlRGF0YWJhc2UoCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdp
bkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VNYW5hZ2Vy
KiBkYXRhYmFzZU1hbmFnZXIsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaCBiL1dlYktpdC93aW4vV2ViSW5zcGVjdG9y
LmgKaW5kZXggMDUzYTU5My4uY2QzMjRhOCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJJbnNw
ZWN0b3IuaAorKysgYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCkBAIC0zMCwxMSArMzAsMTEg
QEAKICNkZWZpbmUgV2ViSW5zcGVjdG9yX2gKIAogI2luY2x1ZGUgIldlYktpdC5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFzcyBXZWJWaWV3OwogCi1jbGFzcyBXZWJJbnNw
ZWN0b3IgOiBwdWJsaWMgSVdlYkluc3BlY3RvciwgcHVibGljIElXZWJJbnNwZWN0b3JQcml2YXRl
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJ
bnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2ViSW5zcGVjdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViSW5zcGVjdG9y
KiBjcmVhdGVJbnN0YW5jZShXZWJWaWV3Kik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2Vi
TG9jYWxpemFibGVTdHJpbmdzLmNwcCBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdz
LmNwcAppbmRleCBkYTZiMjIxLi5lOWI5OWFkIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkxv
Y2FsaXphYmxlU3RyaW5ncy5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmlu
Z3MuY3BwCkBAIC03Miw3ICs3Miw4IEBAIHN0YXRpYyBMb2NhbGl6ZWRTdHJpbmdNYXAgZnJhbWV3
b3JrTG9jU3RyaW5ncygpCiAgICAgcmV0dXJuIG1hcDsKIH0KIAotY2xhc3MgTG9jYWxpemVkU3Ry
aW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsaXplZFN0cmluZyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxpemVkU3RyaW5nKTsKIHB1YmxpYzoKICAgICBMb2Nh
bGl6ZWRTdHJpbmcoQ0ZTdHJpbmdSZWYgc3RyaW5nKQogICAgICAgICA6IG1fY2ZTdHJpbmcoc3Ry
aW5nKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oIGIvV2ViS2l0L3dp
bi9XZWJTY3JpcHRXb3JsZC5oCmluZGV4IGYwODhhNzIuLjAxNTExZGUgMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAorKysgYi9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxk
LmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdy
YXBwZXJXb3JsZDsKIH0KIAotY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBwdWJsaWMgTm9uY29weWFi
bGUsIHB1YmxpYyBJV2ViU2NyaXB0V29ybGQgeworY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBwdWJs
aWMgSVdlYlNjcmlwdFdvcmxkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJTY3JpcHRX
b3JsZCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlNjcmlwdFdvcmxkKiBzdGFuZGFyZFdvcmxk
KCk7CiAgICAgc3RhdGljIENPTVB0cjxXZWJTY3JpcHRXb3JsZD4gY3JlYXRlSW5zdGFuY2UoKTsK
ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaCBiL1dlYktpdC93
aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaAppbmRleCBhMmQ2ZDU2Li42ZTM3NDdkIDEwMDY0NAot
LS0gYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKKysrIGIvV2ViS2l0L3dpbi9X
ZWJTZXJpYWxpemVkSlNWYWx1ZS5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiB9CiAKLWNsYXNzIFdlYlNlcmlh
bGl6ZWRKU1ZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRK
U1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CitjbGFzcyBXZWJT
ZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWUsIHB1YmxpYyBJ
V2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
ZWJTZXJpYWxpemVkSlNWYWx1ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0cjxXZWJTZXJp
YWxpemVkSlNWYWx1ZT4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dp
bi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBiL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmgKaW5kZXggZThmNmI2Ny4uNDI4NTRiNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAorKysgYi9XZWJLaXQvd2luL1dlYlVzZXJDb250
ZW50VVJMUGF0dGVybi5oCkBAIC0zMiw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBVc2VyQ29udGVudFVSTFBhdHRlcm47CiB9CiAKLWNsYXNzIFdlYlVzZXJDb250ZW50
VVJMUGF0dGVybiA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJVc2VyQ29udGVudFVS
TFBhdHRlcm4geworY2xhc3MgV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIDogcHVibGljIElXZWJV
c2VyQ29udGVudFVSTFBhdHRlcm4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybik7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0cjxXZWJVc2VyQ29u
dGVudFVSTFBhdHRlcm4+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIv
Q2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWY0YzkyYS4uN2NkMTQwNSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMC0xMS0yNSAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQg
cmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAg
IEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0
aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAor
ICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50
YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNl
LmggaW5jbHVkZXMuCisKIDIwMTAtMTEtMjQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGltcGxpY2l0bHkgYnkgSm9obiBTdWxsaXZhbi4KZGlm
ZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaCBiL1dl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaAppbmRleCA4MTEzMjM2Li44
ZWZmYjBkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBo
b3JlLmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEJpbmFyeVNlbWFwaG9yZV9oCiAjZGVmaW5lIEJpbmFy
eVNlbWFwaG9yZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUu
aAppbmRleCAwODI1YmY2Li5lYzFhY2NkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL01v
ZHVsZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgTW9kdWxlX2gKICNkZWZpbmUgTW9kdWxlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgUExBVEZP
Uk0oTUFDKQpAQCAtMzksNyArMzgsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3Mg
TW9kdWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1vZHVsZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTW9kdWxlKTsKIHB1YmxpYzoKICAgICBNb2R1bGUoY29uc3QgU3RyaW5n
JiBwYXRoKTsKICAgICB+TW9kdWxlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL1No
YXJlZE1lbW9yeS5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAppbmRleCAwNWRj
MGRkLi5hODZiOWZkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5o
CisrKyBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgU2hhcmVkTWVtb3J5X2gKICNkZWZpbmUgU2hhcmVkTWVtb3J5X2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNTIsNyArNTEsOCBAQCBwdWJsaWM6CiAgICAg
ICAgIFJlYWRXcml0ZQogICAgIH07CiAKLSAgICBjbGFzcyBIYW5kbGUgOiBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgSGFuZGxlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGFuZGxl
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIEhhbmRsZSgpOwogICAgICAgICB+SGFuZGxlKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lmgg
Yi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKaW5kZXggNjkz
NDMyOS4uMTE1YzExMyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNv
bnRyb2xsZXJQcm94eS5oCisrKyBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9s
bGVyUHJveHkuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIlBsdWdpbkNvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuaCBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKaW5kZXgg
NjcwZTFhMy4uZDc1MTBiZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBA
IC0zOSw2ICszOSw3IEBAIGNsYXNzIFdlYlByb2Nlc3NDb25uZWN0aW9uOwogc3RydWN0IFBsdWdp
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAgICAgICAgIAogY2xhc3MgUGx1Z2luUHJvY2Vz
cyA6IENoaWxkUHJvY2VzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUHJvY2Vz
cyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3MmIHNoYXJlZCgpOwogCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaCBiL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5oCmluZGV4IDc4ZmUxZjQuLjhjNWU4ZTMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
U2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5o
CkBAIC0yNywxMyArMjcsMTEgQEAKICNkZWZpbmUgQ2hpbGRQcm9jZXNzX2gKIAogI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIENoaWxkUHJvY2VzcyA6IHByb3RlY3RlZCBDb3JlSVBDOjpDb25u
ZWN0aW9uOjpDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENoaWxkUHJvY2Vzcyk7
Ci0KIHByb3RlY3RlZDoKICAgICBDaGlsZFByb2Nlc3MoKTsKICAgICB+Q2hpbGRQcm9jZXNzKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2Vp
dmVyLmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgK
aW5kZXggZDMzNjNmOS4uN2UwZmVmMSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMv
TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAi
Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0
UHJveHkuaCBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oCmluZGV4IGU0
YzAwYzUuLjNkYzkyNGIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmpl
Y3RQcm94eS5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oCkBA
IC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8
V2ViQ29yZS9ucHJ1bnRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRl
bnNpb24uaCBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaAppbmRleCBmNWZiNTc2
Li41MTEyNjU4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgK
KysrIGIvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCkBAIC0yNyw3ICsyNyw2IEBA
CiAjZGVmaW5lIFNhbmRib3hFeHRlbnNpb25faAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL21hYy9GaW5kSW5kaWNhdG9yV2luZG93LmgKaW5kZXggZTg4ODliNi4uM2Y1ZmFkYSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9GaW5kSW5kaWNhdG9yV2luZG93LmgK
KysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9GaW5kSW5kaWNhdG9yV2luZG93LmgKQEAg
LTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgRmluZEluZGljYXRvcldpbmRvd19oCiAjZGVmaW5lIEZp
bmRJbmRpY2F0b3JXaW5kb3dfaAogCi0jaW1wb3J0IDx3dGYvTm9uY29weWFibGUuaD4KICNpbXBv
cnQgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CiAjaW1wb3J0IDx3
dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NNYW5hZ2VyLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NNYW5hZ2VyLmgKaW5kZXggYzI2NWYyZTIuLjBkYzdhOWMgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaAorKysgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAogbmFtZXNwYWNlIENvcmVJUEMgewpAQCAtNDEsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIGNsYXNzIFBsdWdpblByb2Nlc3NQcm94eTsKIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKIAot
Y2xhc3MgUGx1Z2luUHJvY2Vzc01hbmFnZXIgOiBOb25jb3B5YWJsZSAgeworY2xhc3MgUGx1Z2lu
UHJvY2Vzc01hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3NN
YW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2Vzc01hbmFnZXImIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5J
bmZvU3RvcmVXaW4uY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5m
b1N0b3JlV2luLmNwcAppbmRleCBmZTdkODk2Li45ZTE3NDJlIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCisrKyBiL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKQEAgLTI1Niw3
ICsyNTYsOCBAQCBWZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3RvcmU6OnBsdWdpbnNEaXJlY3Rv
cmllcygpCiAgICAgcmV0dXJuIGRpcmVjdG9yaWVzOwogfQogCi1jbGFzcyBQYXRoV2Fsa2VyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhdGhXYWxrZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBhdGhXYWxrZXIpOwogcHVibGljOgogICAgIFBhdGhXYWxrZXIoY29uc3QgU3Ry
aW5nJiBkaXJlY3RvcnkpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvVmlz
aXRlZExpbmtQcm92aWRlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRl
ci5oCmluZGV4IDAxNTUxNWMuLmE0MjhkNWIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNz
L1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1Byb3ZpZGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGlua0hh
c2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBXZWJDb250ZXh0OwogICAgIAotY2xhc3MgVmlzaXRlZExpbmtQcm92aWRlciA6IE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFZpc2l0ZWRMaW5rUHJvdmlkZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFZpc2l0
ZWRMaW5rUHJvdmlkZXIoV2ViQ29udGV4dCopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlBy
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkLmgKaW5kZXggMzdmYWNhOC4uOGIwMDMzMyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9E
b3dubG9hZHMvRG93bmxvYWQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiTWVzc2Fn
ZVNlbmRlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogI2lm
IFBMQVRGT1JNKE1BQykKQEAgLTU1LDcgKzU0LDYgQEAgY2xhc3MgV2ViUGFnZTsKIAogY2xhc3Mg
RG93bmxvYWQgOiBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlcjxEb3dubG9hZD4gewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkKTsKLQogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPERvd25sb2FkPiBjcmVhdGUodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgfkRvd25sb2FkKCk7CmRpZmYgLS1naXQgYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAppbmRleCAwMjQ1YmI2Li4yYjRm
ODA0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFu
YWdlci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2Vy
LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRG93bmxvYWRNYW5hZ2VyX2gKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaCBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAppbmRleCA2NzM3YmQ0Li4x
YjQzMTQ1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9O
UEpTT2JqZWN0LmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBK
U09iamVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Q
cm90ZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9ucHJ1bnRpbWVfaW50ZXJuYWwuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgSlNH
bG9iYWxPYmplY3Q7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3Mg
TlBSdW50aW1lT2JqZWN0TWFwOwogICAgIAogLy8gTlBKU09iamVjdCBpcyBhbiBOUE9iamVjdCB0
aGF0IHdyYXBzIGEgSlNPYmplY3QuCi1jbGFzcyBOUEpTT2JqZWN0IDogcHVibGljIE5QT2JqZWN0
LCBOb25jb3B5YWJsZSB7CitjbGFzcyBOUEpTT2JqZWN0IDogcHVibGljIE5QT2JqZWN0IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShOUEpTT2JqZWN0KTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
TlBKU09iamVjdCogY3JlYXRlKE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBKU0M6OkpT
T2JqZWN0KiBqc09iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKaW5kZXggZDdiYTg1My4u
NjhhODBkMCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBF
TkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogLy8gTWFu
YWdlcyBwbHVnLWluIHByb2Nlc3MgY29ubmVjdGlvbnMgZm9yIHRoZSBnaXZlbiB3ZWIgcHJvY2Vz
cy4KQEAgLTM4LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uOwogICAgICAgICAKLWNsYXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9u
TWFuYWdlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25N
YW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5h
Z2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RmluZENvbnRyb2xsZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9s
bGVyLmgKaW5kZXggMTRiZmJiMC4uNDMzOTg0YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9GaW5kQ29udHJvbGxlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiRmluZE9w
dGlvbnMuaCIKICNpbmNsdWRlICJQYWdlT3ZlcmxheS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3IuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYklu
c3BlY3Rvci5oCmluZGV4IGZiZDA5NDIuLjRhNmU0ZDQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJDb25u
ZWN0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA1NWNlZGFlLi5hZjVmMTNh
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTEtMjUgIFpvbHRhbiBIb3J2YXRoICA8em9s
dGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xh
c3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4
OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGlu
IG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25j
b3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1h
Y3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3Nhcnkg
RmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMv
d3RmL05vbmNvcHlhYmxlLmg6IFJlbW92ZWQuCisKIDIwMTAtMTEtMjQgIE5pY29sYXMgRHVmcmVz
bmUgIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYXJ0aW4gUm9iaW5zb24uCkBAIC0xOTY3Myw3ICsxOTY4NSw3IEBACiAKIDIwMTAtMDct
MDcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAotICAgICAgICBDb21t
ZW50IG91dCBhIHBhcnQgb2YgVGVzdE5ldHNjYXBlUGx1Z2luIHRoYXQgY2F1c2VkIHRlc3RzwqB0
byBmYWlsIG9uIFRpZ2VyIGFuZCBMZW9wYXJkLgorICAgICAgICBDb21tZW50IG91dCBhIHBhcnQg
b2YgVGVzdE5ldHNjYXBlUGx1Z2luIHRoYXQgY2F1c2VkIHRlc3RzwiB0byBmYWlsIG9uIFRpZ2Vy
IGFuZCBMZW9wYXJkLgogCiAgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luL21haW4uY3BwOgogICAgICAgICAoTlBQX05ldyk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJs
ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKaW5kZXggNmNiNjM4ZS4uYmQzNmQ1OCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApA
QCAtNDUsNyArNDUsNiBAQAogCiAjaW5jbHVkZSAiQ3BwVmFyaWFudC5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNTgsNyArNTcsOCBAQCB0
eXBlZGVmIFZlY3RvcjxDcHBWYXJpYW50PiBDcHBBcmd1bWVudExpc3Q7CiAKIC8vIENwcEJvdW5k
Q2xhc3MgbGV0cyB5b3UgbWFwIEphdmFzY3JpcHQgbWV0aG9kIGNhbGxzIGFuZCBwcm9wZXJ0eSBh
Y2Nlc3NlcwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscyBhbmQgQ3BwVmFyaWFudCog
dmFyaWFibGUgYWNjZXNzLgotY2xhc3MgQ3BwQm91bmRDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBDcHBCb3VuZENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcHBC
b3VuZENsYXNzKTsKIHB1YmxpYzoKICAgICBjbGFzcyBQcm9wZXJ0eUNhbGxiYWNrIHsKICAgICBw
dWJsaWM6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
UlREZXZUb29sc0FnZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
UlREZXZUb29sc0FnZW50LmgKaW5kZXggZTE0NzhkMC4uMGRhYzRjNyAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApA
QCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29s
c0FnZW50Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQ5LDggKzQ4LDggQEAg
c3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50
OwogCi1jbGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNB
Z2VudENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2Vu
dENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBw
dWJsaWM6CiAgICAgRFJURGV2VG9vbHNBZ2VudCgpOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xz
QWdlbnQoKSB7fQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJURGV2VG9vbHNDbGllbnQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVERldlRvb2xzQ2xpZW50LmgKaW5kZXggOWNhMTQwMi4uMDMwZDY4NyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQu
aAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0Ns
aWVudC5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiRFJURGV2VG9vbHNDYWxsQXJncy5o
IgogI2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDggKzQ3LDggQEAgY2xhc3MgV2ViVmlldzsK
IAogY2xhc3MgRFJURGV2VG9vbHNBZ2VudDsKIAotY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBw
dWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29sc0NsaWVudCA6
IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERSVERldlRvb2xzQ2xpZW50KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29s
c0NsaWVudChEUlREZXZUb29sc0FnZW50KiwgV2ViS2l0OjpXZWJWaWV3Kik7CiAgICAgdmlydHVh
bCB+RFJURGV2VG9vbHNDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKaW5kZXgg
YjY3MTQ4OS4uODUwMmE5NiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3
ICsxMTEsOCBAQCBwdWJsaWM6CiAKIC8vIFRlc3Qgc2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxl
ci4gVGhlIGdvYWwgaXMgdG8gYmUgYXMgY2xvc2UgdG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBh
cyBwb3NzaWJsZS4KLWNsYXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0
TmF2aWdhdGlvbkNvbnRyb2xsZXIoTmF2aWdhdGlvbkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRp
b25Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCmluZGV4IDM4ODMxZDkuLjk2MThkYzQgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29u
dHJvbERSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRo
ZW1lQ29udHJvbERSVC5oCkBAIC00MSwxMiArNDEsMTIgQEAKIAogI2luY2x1ZGUgInNraWEvZXh0
L3BsYXRmb3JtX2NhbnZhcy5oIgogI2luY2x1ZGUgInRoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9j
b3JlL1NrQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gU2tpYSBm
b3J3YXJkIGRlY2xhcmF0aW9ucwogc3RydWN0IFNrSVJlY3Q7CiAKLWNsYXNzIFdlYlRoZW1lQ29u
dHJvbERSVCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lQ29udHJvbERSVCk7CiBwdWJsaWM6
CiAgICAgLy8gVGhpcyBsaXN0IG9mIHN0YXRlcyBtb3N0bHkgbWlycm9ycyB0aGUgbGlzdCBpbiBX
ZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAogICAgIC8vIGJ1dCBpcyBtYWludGFpbmVkIHNl
cGFyYXRlbHkgc2luY2UgdGhhdCBpc24ndCBwdWJsaWMgYW5kIGFsc28gdG8gbWluaW1pemUKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5n
aW5lRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVu
Z2luZURSVC5oCmluZGV4IGU1MDg4NmIuLjUzNjJmYjMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaApAQCAtNDgs
OSArNDgsOSBAQAogI2RlZmluZSBXZWJUaGVtZUVuZ2luZURSVF9oCiAKICNpbmNsdWRlICJ3aW4v
V2ViVGhlbWVFbmdpbmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAotY2xhc3Mg
V2ViVGhlbWVFbmdpbmVEUlQgOiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6
V2ViVGhlbWVFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lRW5naW5l
RFJUKTsKIHB1YmxpYzoKICAgICBXZWJUaGVtZUVuZ2luZURSVCgpIHt9CiAKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oIGIvV2ViS2l0VG9vbHMvV2Vi
S2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKaW5kZXggYTI3MzRlZC4uYzE3MTgxMyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKKysrIGIvV2ViS2l0VG9v
bHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKQEAgLTI2LDExICsyNiwxMCBAQAogI2RlZmlu
ZSBIb3N0V2luZG93X2gKIAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCi1jbGFzcyBIb3N0V2lu
ZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgewogcHVibGljOgog
ICAgIEhvc3RXaW5kb3coKTsKICAgICB+SG9zdFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL1dlYktp
dEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKaW5kZXggMTFiNDU3ZC4uYmRjYzQ1NSAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9X
ZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCkBAIC0yOCwxMyArMjgs
MTMgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCiBjbGFzcyBUZXN0OwogCi1jbGFzcyBUZXN0c0NvbnRy
b2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGVzdHNDb250cm9sbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0c0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIHN0
YXRpYyBUZXN0c0NvbnRyb2xsZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmggYi9XZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKaW5kZXggZmVjMWY3YS4uMjM2Y2MxYyAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBi
L1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAtMjcsMTEg
KzI3LDEwIEBACiAjZGVmaW5lIFRlc3RJbnZvY2F0aW9uX2gKIAogI2luY2x1ZGUgPFdlYktpdDIv
V0tSZXRhaW5QdHIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdUUiB7CiAKLWNsYXNzIFRlc3RJbnZvY2F0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFRlc3RJbnZvY2F0aW9uIHsKIHB1YmxpYzoKICAgICBUZXN0SW52b2NhdGlvbihjb25zdCBj
aGFyKik7CiAgICAgflRlc3RJbnZvY2F0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74926</attachid>
            <date>2010-11-26 05:53:35 -0800</date>
            <delta_ts>2010-11-30 01:29:29 -0800</delta_ts>
            <desc>updated rc</desc>
            <filename>pentek5.patch</filename>
            <type>text/plain</type>
            <size>329522</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjA5NzE3MDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBTdGF0aWNWYWx1ZUVudHJ5KEpTT2Jq
ZWN0R2V0UHJvcGVydHlDYWxsYmFjayBfZ2V0UHJvcGVydHksIEpTT2JqZWN0U2V0UHJvcGVydHlD
YWxsYmFjayBfc2V0UHJvcGVydHksIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQog
ICAgICAgICA6IGdldFByb3BlcnR5KF9nZXRQcm9wZXJ0eSksIHNldFByb3BlcnR5KF9zZXRQcm9w
ZXJ0eSksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNDUsNyArNDcsOSBAQCBz
dHJ1Y3QgU3RhdGljVmFsdWVFbnRyeSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiB9OwogCi1zdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFN0YXRpY0Z1bmN0aW9uRW50cnkoSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIF9jYWxsQXNGdW5jdGlvbiwgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAgICAgICAgIDogY2FsbEFzRnVuY3Rpb24oX2NhbGxBc0Z1
bmN0aW9uKSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC02Miw3ICs2Niw5IEBA
IHN0cnVjdCBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNzIChKU0NsYXNzKSBp
cyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGFueSBj
b250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMgc3RydWN0dXJlIGhv
bGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3JvdXBzLgotc3RydWN0
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE9w
YXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4
Y2E4Li5kNmRlNDI2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0
ODAsOSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LXN0cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEpCiAgICAgICAgIDogcmVmQ291bnQoMCkKICAgICAgICAgLCBnbG9iYWxEYXRh
KGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNzlmZGVkZi4uYzZmYjczOCAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTExLTI2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUg
YW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUg
RmFzdEFsbG9jQmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAg
ICAgKiB3dGYvTm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1w
bGVtZW50YXRpb24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IEFkZCBOb25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50
YXRpb24uCisKIDIwMTAtMTEtMjQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtl
ZmlsZS5hbQppbmRleCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
NDY3LDcgKzQ2Nyw2IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRD
b3JlL3d0Zi9NRDUuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlK
YXZhU2NyaXB0Q29yZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3Rm
L05vbmNvcHlhYmxlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZh
U2NyaXB0Q29yZS93dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaCBcCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUw
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAg
ICAgICAgICAgJ3d0Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVl
dWUuaCcsCiAgICAgICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAg
J3d0Zi9Ob25jb3B5YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAg
ICAgICAgICAnd3RmL093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFs
bG9jUHRyLmgnLApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNw
cm9qL1dURi9XVEYudmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L1dURi9XVEYudmNwcm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwx
MCArNjU0LDYgQEAKIAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRo
PSIuLlwuLlx3dGZcTm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0K
IAkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJ
PC9GaWxlPg0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNDQ0LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBN
YXRoT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNjkyQTg2QjAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIz
NDQ2MCAvKiBNZXNzYWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQz
RjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBOb25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0
NDEwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIg
LyogTnVtYmVyQ29uc3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYw
IC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0
cnVjdG9yLmx1dC5oICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVy
T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NjkyQTg3MTAyNTU1OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5
MDVCMDJBRDBFMjg2NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJF
RSAvKiBSZWZDb3VudGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVmQ291bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzMDNGNTY3MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTkzMDNGNTY5MDk5MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFy
ZW5hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAog
CQkJCTUxMUZDNENBMTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBE
NkNBNTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgw
RDAwQjI2MDk3IC8qIE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAw
QUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1
IC8qIE5vdEZvdW5kLmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQ
dHIuaCAqLywKIAkJCQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAq
LywKQEAgLTIyMTEsNyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8q
IE5vZGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAg
LyogTm9kZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAv
KiBOb25Db3B5aW5nU29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAw
QjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBB
MDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUx
NkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RN
YWNyb0Fzc2VtYmxlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9B
c3NlbWJsZXIuaAppbmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAK
IAogI2luY2x1ZGUgIkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29k
ZVJlZi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVz
ZWRQYXJhbS5oPgogCiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TGlua0J1ZmZlci5oCmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0xpbmtCdWZmZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAog
CiAjaW5jbHVkZSA8TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7
CiAvLyAgICogVGhlIGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1h
eSBiZSByZXNvbHZlZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJl
bCBtYXkgYmUgc2V0LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTGlua0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZl
cik7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBl
ZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3Nl
bWJsZXI6OkxhYmVsIExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L1JlcGF0Y2hCdWZmZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVy
LmgKaW5kZXggNzJjZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVw
YXRjaEJ1ZmZlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAog
I2luY2x1ZGUgPE1hY3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4
IDdlY2E3MmEuLjFmNWNjMTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0y
NDIsNyArMjQyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFz
cyBDb2RlQmxvY2sgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2Nr
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBKSVQ7CiAgICAgcHJvdGVjdGVkOgogICAgICAgICBDb2RlQmxvY2soU2NyaXB0RXhlY3V0YWJs
ZSogb3duZXJFeGVjdXRhYmxlLCBDb2RlVHlwZSwgSlNHbG9iYWxPYmplY3QqLCBQYXNzUmVmUHRy
PFNvdXJjZVByb3ZpZGVyPiwgdW5zaWduZWQgc291cmNlT2Zmc2V0LCBTeW1ib2xUYWJsZSogc3lt
Ym9sVGFibGUsIGJvb2wgaXNDb25zdHJ1Y3Rvcik7CkBAIC01NzgsNyArNTc5LDEwIEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJvbFRhYmxlOwogCi0gICAg
ICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgc3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBWZWN0b3I8SGFuZGxlckluZm8+IG1fZXhj
ZXB0aW9uSGFuZGxlcnM7CiAKICAgICAgICAgICAgIC8vIFJhcmUgQ29uc3RhbnRzCkBAIC01OTks
NiArNjAzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBWZWN0b3I8Q2FsbFJldHVy
bk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQ+IG1fY2FsbFJldHVybkluZGV4VmVjdG9yOwogI2VuZGlm
CiAgICAgICAgIH07CisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRyPFJhcmVEYXRhPiBtX3Jh
cmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0lu
c3RydWN0aW9uLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCmluZGV4
IGM2NDY4YTUuLmYwNzdjYmYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0lu
c3RydWN0aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApA
QCAtNTQsNyArNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBTdHJ1Y3R1cmVDaGFp
bjsKIAogICAgIC8vIFN0cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9pZF9zZWxmX2xpc3QgYW5k
IG9wX2dldF9ieV9pZF9wcm90b19saXN0IGluc3RydWN0aW9uIHRvIGhvbGQgZGF0YSBvZmYgdGhl
IG1haW4gb3Bjb2RlIHN0cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1
cmVMaXN0IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3Ry
dWN0dXJlTGlzdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1Ymxp
YzoKICAgICAgICAgc3RydWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9v
bCBpc0NoYWluOwogICAgICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1
YlJvdXRpbmVUeXBlIHN0dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU2FtcGxpbmdUb29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rv
b2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1w
bGluZ1Rvb2wuaApAQCAtMTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBm
cmllbmQgY2xhc3MgSG9zdENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVf
U0FNUExJTkcpCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVj
b3JkKFNhbXBsaW5nVG9vbCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1w
bGluZ1Rvb2woc2FtcGxpbmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICAgICAgfQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJl
Y29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAg
IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgK
aW5kZXggYTkwZjc1Ni4uMWQyYmQwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1i
b2xUYWJsZS5oIgogI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNp
bmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTg1LDcgKzg0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdp
c3RlcklEPiBwcm9wZXJ0eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdl
bmVyYXRvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVy
YXRvciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAg
ICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFj
azsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgg
Yi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCmluZGV4IDM1MzJhZDgu
Ljc4ZDQ5ZDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3Rl
cklELmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaApAQCAt
MzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgUmVnaXN0ZXJJ
RCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJJRCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1YmxpYzoKICAgICAgICAg
UmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaCBiL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBkZmJlNjU4Li43NDAwMDFkIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCkBAIC0zMiw3ICszMiw4IEBACiAjaW5jbHVk
ZSAiSW50ZXJwcmV0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7Ci0gICAgY2xhc3MgQ2FjaGVkQ2Fs
bCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FjaGVkQ2FsbCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZENhbGwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIENhY2hlZENhbGwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUs
IEpTRnVuY3Rpb24qIGZ1bmN0aW9uLCBpbnQgYXJnQ291bnQpCiAgICAgICAgICAgICA6IG1fdmFs
aWQoZmFsc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRleCA0
Nzc5MGNmLi43NTNkOTBlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9J
bnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJfaAogCiAjaW5jbHVkZSAi
QXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlICJKU0NlbGwu
aCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKQEAgLTY1LDcg
KzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4TGFyZ2VUaHJlYWRSZWVu
dHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRoID0gMzIgfTsKIAotICAg
IGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElu
dGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZy
aWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1
YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjM5
NDQ2NDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEs
NiBAQAogCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJh
aXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgIHR5cGVkZWYgRXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lz
dGVyIDogcHVibGljIFdURjo6RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJl
Z2lzdGVyKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lz
dGVyRmlsZS5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKaW5k
ZXggZDlmNmEyYi4uNjgyMjAzNSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0
ZXJGaWxlLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJSZWdpc3Rlci5oIgogI2luY2x1
ZGUgIldlYWtHQ1B0ci5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlvbi5oPgogI2luY2x1ZGUgPHd0
Zi9WTVRhZ3MuaD4KIApAQCAtODksNyArODgsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNs
YXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJGaWxlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwogICAg
IHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRyeSB7CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5oCmluZGV4IDRkMjUxM2QuLjcyNTQ3ZWIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9MZXhlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC0z
Nyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgUmVnRXhwOwogCi0gICAg
Y2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExleGVyIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGV4ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENoYXJhY3RlciBtYW5pcHVsYXRpb24gZnVuY3Rp
b25zLgogICAgICAgICBzdGF0aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50IGNoYXJhY3Rlcik7CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlcy5oCmluZGV4IDY5MzBmNjMuLmY0MTgwNzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCkBAIC0xMTMsNiArMTEzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNs
YXNzIFBhcnNlckFyZW5hUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkPFBhcnNlckFyZW5h
UmVmQ291bnRlZD4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcm90
ZWN0ZWQ6CiAgICAgICAgIFBhcnNlckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApA
QCAtMTM3NCw3ICsxMzc1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5v
ZGUqIG1fbmV4dDsKICAgICB9OwogCi0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxs
b2NCYXNlIHsKKyAgICBzdHJ1Y3QgU2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0
YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFj
a3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKIApAQCAtMTQ3MCw2ICsxNDczLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0aW9uUGFyYW1ldGVycyA6
IHB1YmxpYyBWZWN0b3I8SWRlbnRpZmllcj4sIHB1YmxpYyBSZWZDb3VudGVkPEZ1bmN0aW9uUGFy
YW1ldGVycz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZ1bmN0aW9uUGFyYW1ldGVycz4gY3JlYXRlKFBh
cmFtZXRlck5vZGUqIGZpcnN0UGFyYW1ldGVyKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRnVuY3Rp
b25QYXJhbWV0ZXJzKGZpcnN0UGFyYW1ldGVyKSk7IH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmlu
ZGV4IDY1NDkwNjcuLjQ1MmEzZTEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTMyLDcgKzMy
LDYgQEAKICNpbmNsdWRlICJQYXJzZXJBcmVuYS5oIgogI2luY2x1ZGUgIlNvdXJjZVByb3ZpZGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBA
IC00NSw4ICs0NCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgUGFyc2VyQXJlbmFEYXRhIDogUGFyc2VyQXJlbmFEZWxldGFibGUgeyBUIGRh
dGE7IH07CiAKLSAgICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFBhcnNlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAg
ICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQYXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBh
cnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1
Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJh
bWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3RuZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0
aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgg
Yi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi44MmZi
ODA4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBBTFdBWVNf
SU5MSU5FIGNvbnN0IElkZW50aWZpZXImIG1ha2VJZGVudGlmaWVyKEpTR2xvYmFsRGF0YSosIGNv
bnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKTsKICAgICAgICAgY29uc3QgSWRl
bnRpZmllciYgbWFrZU51bWVyaWNJZGVudGlmaWVyKEpTR2xvYmFsRGF0YSosIGRvdWJsZSBudW1i
ZXIpOwpAQCAtNTksNyArNjAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIG1f
aWRlbnRpZmllcnMubGFzdCgpOwogICAgIH0KIAotICAgIGNsYXNzIFBhcnNlckFyZW5hIDogTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFBhcnNlckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGFyc2VyQXJlbmEpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFyc2VyQXJlbmEo
KTsKICAgICAgICAgflBhcnNlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9w
Y3JlL3BjcmVfZXhlYy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKaW5k
ZXggZjQ4OTlmMi4uMmJiY2MxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3Jl
X2V4ZWMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcApAQCAtNDgs
NiArNDgsNyBAQCB0aGUgSmF2YVNjcmlwdCBzcGVjaWZpY2F0aW9uLiBUaGVyZSBhcmUgYWxzbyBz
b21lIHN1cHBvcnRpbmcgZnVuY3Rpb25zLiAqLwogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1
ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUg
PHN0cmluZy5oPgogCiAjaWYgUkVHRVhQX0hJU1RPR1JBTQogI2luY2x1ZGUgPHd0Zi9EYXRlTWF0
aC5oPgpAQCAtMTEyLDcgKzExMyw5IEBAIHN0cnVjdCBCcmFja2V0Q2hhaW5Ob2RlIHsKICAgICBj
b25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAotc3RydWN0IE1hdGNoRnJhbWUgOiBGYXN0
QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKICAgICBSZXR1cm5Mb2NhdGlvbiByZXR1cm5Mb2NhdGlvbjsKICAgICBz
dHJ1Y3QgTWF0Y2hGcmFtZSogcHJldmlvdXNGcmFtZTsKICAgICAKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmggYi9KYXZhU2NyaXB0Q29yZS9wcm9m
aWxlci9DYWxsSWRlbnRpZmllci5oCmluZGV4IDc2YzE0NzAuLmE5ODI3YzAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaApAQCAtMjgsMTMgKzI4LDE0IEBACiAjZGVm
aW5lIENhbGxJZGVudGlmaWVyX2gKIAogI2luY2x1ZGUgPHJ1bnRpbWUvVVN0cmluZy5oPgotI2lu
Y2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAg
IHN0cnVjdCBDYWxsSWRlbnRpZmllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1
Y3QgQ2FsbElkZW50aWZpZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAg
ICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcgbV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJs
OwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVOdW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmls
ZXIuaAppbmRleCBmOWMyY2NiLi5mODg3NDZkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9w
cm9maWxlci9Qcm9maWxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVy
LmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsK
ICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQcm9maWxl
cioqIGVuYWJsZWRQcm9maWxlclJlZmVyZW5jZSgpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmdMaXN0LmgKaW5kZXggY2Q1NjNhMi4uNTdlM2MyMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcmdMaXN0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmgKQEAgLTI1LDE0ICsyNSwxNCBAQAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUg
IlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0Mgewog
CiAgICAgY2xhc3MgTWFya1N0YWNrOwogCi0gICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya2VkQXJndW1lbnRCdWZmZXIpOwogICAg
IHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9
IDg7CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyLCBpbmxpbmVDYXBhY2l0eT4gVmVj
dG9yVHlwZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCmluZGV4IDcxNWEyYWMuLmZlOTAw
YTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaApAQCAtMzMsNyArMzMsMTAgQEAKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSA6IE5vbmNvcHlhYmxl
IHsKKyAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEFyZ3VtZW50c0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6
CisgICAgICAgIEFyZ3VtZW50c0RhdGEoKSB7IH0KICAgICAgICAgSlNBY3RpdmF0aW9uKiBhY3Rp
dmF0aW9uOwogCiAgICAgICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmggYi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKaW5kZXggNzQw
ODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIuaApAQCAtMjcsMTIgKzI3LDEyIEBACiAjaWZuZGVmIEJhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKICNkZWZpbmUgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6
ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBCYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25P
cHRpbWl6ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCYXRjaGVkVHJhbnNpdGlv
bk9wdGltaXplcik7CiAgICAgcHVibGljOgogICAgICAgICBCYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplcihKU09iamVjdCogb2JqZWN0KQogICAgICAgICAgICAgOiBtX29iamVjdChvYmplY3QpCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAppbmRleCAyMzdjMTM5Li45M2VkZjA0IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDx3dGYv
Rml4ZWRBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYWdlQWxsb2NhdGlvbi5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CkBAIC04Nyw3ICs4Niw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB9CiAgICAgfTsKIAotICAgIGNsYXNzIEhlYXAgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEhlYXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIZWFwKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIGNsYXNzIFRocmVhZDsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFlMjJiNmEuLmI1M2FlNDMgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNk
ZWZpbmUgQ29tbW9uSWRlbnRpZmllcnNfaAogCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBNYXJrZWRBcmd1bWVudEJ1ZmZlciBvZiBw
cm9wZXJ0eSBuYW1lcywgcGFzc2VkIHRvIGEgbWFjcm8gc28gd2UgY2FuIGRvIHNldCB0aGVtIHVw
IHZhcmlvdXMKIC8vIHdheXMgd2l0aG91dCByZXBlYXRpbmcgdGhlIGxpc3QuCkBAIC04NCw3ICs4
Myw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQ29tbW9uSWRlbnRpZmllcnMg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29tbW9uSWRlbnRpZmllcnMpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICBDb21tb25JZGVudGlmaWVycyhK
U0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQuLjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRl
ICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4wYzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5
bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNH
bG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5
bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAgICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RT
bG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNM
b2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBK
U0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAot
ICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2Nr
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSop
OwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhh
dmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgeworICAgICAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExvY2tzKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBE
cm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVj
dC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05P
YmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVl
IG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZp
ZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFj
ZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJpbmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9v
a3VwLmgKaW5kZXggOWJjODFkNC4uMGQ2ZDk4ZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBA
IC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAgICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rp
b24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAot
ICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBI
YXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHZvaWQgaW5pdGlhbGl6ZShTdHJpbmdJbXBsKiBrZXksIHVuc2lnbmVkIGNoYXIg
YXR0cmlidXRlcywgaW50cHRyX3QgdjEsIGludHB0cl90IHYyCiAjaWYgRU5BQkxFKEpJVCkKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCmluZGV4IGM1NTFiYWMuLjEwMThlNWUgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9NYXJrU3RhY2suaApAQCAtMjcsNyArMjcsOCBAQAogI2RlZmluZSBNYXJrU3Rh
Y2tfaAogCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0zNiw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIAogICAgIGVudW0gTWFya1NldFByb3BlcnRpZXMg
eyBNYXlDb250YWluTnVsbFZhbHVlcywgTm9OdWxsVmFsdWVzIH07CiAgICAgCi0gICAgY2xhc3Mg
TWFya1N0YWNrIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIE1hcmtTdGFjayB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtTdGFjayk7CiAgICAgcHVibGljOgogICAgICAgICBN
YXJrU3RhY2sodm9pZCoganNBcnJheVZQdHIpCiAgICAgICAgICAgICA6IG1fanNBcnJheVZQdHIo
anNBcnJheVZQdHIpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENv
bnN0cnVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgK
aW5kZXggNThhYmRlNS4uMTcxNGJkMyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaApAQCAtMzEsNyArMzEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBSZWdFeHBQcm90b3R5cGU7CiAgICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZTsK
IAotICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgOiBGYXN0QWxsb2NCYXNlIHsK
KyAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICAvLyBHbG9iYWwgc2VhcmNoIGNh
Y2hlIC8gc2V0dGluZ3MKICAgICAgICAgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKCkKICAgICAg
ICAgICAgIDogbGFzdE51bVN1YlBhdHRlcm5zKDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBP
YmplY3QuaAppbmRleCAxOWRlOTI5Li45MWZjZjJhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVn
RXhwT2JqZWN0LmgKQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
dmlydHVhbCBDYWxsVHlwZSBnZXRDYWxsRGF0YShDYWxsRGF0YSYpOwogCi0gICAgICAgIHN0cnVj
dCBSZWdFeHBPYmplY3REYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHN0cnVjdCBSZWdF
eHBPYmplY3REYXRhIHsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVnRXhwT2JqZWN0
RGF0YShOb25OdWxsUGFzc1JlZlB0cjxSZWdFeHA+IHJlZ0V4cCwgZG91YmxlIGxhc3RJbmRleCkK
ICAgICAgICAgICAgICAgICA6IHJlZ0V4cChyZWdFeHApCiAgICAgICAgICAgICAgICAgLCBsYXN0
SW5kZXgobGFzdEluZGV4KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29w
ZUNoYWluLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAwYjE1
YjY3Li42MzYyODJiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hh
aW4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtMjEsOCAr
MjEsNiBAQAogI2lmbmRlZiBTY29wZUNoYWluX2gKICNkZWZpbmUgU2NvcGVDaGFpbl9oCiAKLSNp
bmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3Mg
SlNHbG9iYWxEYXRhOwpAQCAtMzEsNyArMjksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJhdG9yOwogICAgIAotICAgIGNs
YXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNj
b3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSogbmV4dCwgSlNPYmpl
Y3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAgIDogbmV4dChuZXh0
KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3MjcuLmMz
MzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNw
cAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJp
bmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAgc3RhdGljIGlubGlu
ZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZyAmJiBI
ZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJpbmdzU3RvcmFn
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsKIHB1YmxpYzoKICAg
ICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5n
cy5oCmluZGV4IGQxZWJmYjEzLi5hYzg0ZmU4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxT
dHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFy
a1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFs
bFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU21hbGxTdHJpbmdzKCk7CiAgICAg
ICAgIH5TbWFsbFN0cmluZ3MoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3ltYm9sVGFibGUuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRl
eCAxYjE2MzZkLi4yNjM1NTAxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5
bWJvbFRhYmxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCkBA
IC0xMjIsNiArMTIyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJl
ZlB0cjxTdHJpbmdJbXBsPiwgU3ltYm9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhh
c2hUcmFpdHM8UmVmUHRyPFN0cmluZ0ltcGw+ID4sIFN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRz
PiBTeW1ib2xUYWJsZTsKIAogICAgIGNsYXNzIFNoYXJlZFN5bWJvbFRhYmxlIDogcHVibGljIFN5
bWJvbFRhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxTaGFyZWRTeW1ib2xUYWJsZT4geworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFNoYXJlZFN5bWJvbFRhYmxlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgU2hhcmVkU3ltYm9sVGFibGUpOyB9CiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dl
YWtHQ01hcC5oCmluZGV4IDM5YTkxYzUuLjI2ODNkMTMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFr
R0NNYXAuaApAQCAtMzUsNyArMzUsOCBAQCBjbGFzcyBKU0NlbGw7CiAKIC8vIEEgSGFzaE1hcCB3
aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5zIGVtcHR5VmFsdWUoKSBmb3IgY2VsbHMgYXdhaXRp
bmcgZGVzdHJ1Y3Rpb24uCiB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBw
ZWRUeXBlPgotY2xhc3MgV2Vha0dDTWFwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
V2Vha0dDTWFwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAvKgogICAgIElu
dmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMgdGhlIFdlYWtHQ01hcCBtYXJrZWQu
IChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCmluZGV4
IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMjgs
MTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3IuaCIKICNpbmNsdWRlICJHQ0hhbmRs
ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAog
Ly8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMgMCBmb3IgY2Vs
bHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vh
a0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtH
Q1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vha0dDUHRyKTsKIHB1YmxpYzoKICAg
ICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jv
c3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFsIGFuZCBhbnkg
b3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkKICAgICAvLyBv
d25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAgICAgdGVtcGxh
dGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291bnRlZCk7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVhZFJlZkNvdW50ZWQ8VD4gPiBjcmVh
dGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Rh
dGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCBiZTUxOTQ3Li40
MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUg
PHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFy
YW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyArMTA4LDkgQEAgZG91YmxlIHBhcnNl
RGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiwgY29uc3QgY2hhciog
ZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVycmlkZGluZyB0aGUgZGVmYXVsdCB0
bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9uIHZhcmlvdXMg
b3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBHcmVnb3JpYW5EYXRlVGltZSgpCiAg
ICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRlKDApCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCmluZGV4
IDc0NWUwYjYuLjFiMTZhZmMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIERlcXVlQ29uc3RSZXZl
cnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIERlcXVl
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIERlcXVlIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERlcXVl
SXRlcmF0b3I8VD4gaXRlcmF0b3I7CiAgICAgICAgIHR5cGVkZWYgRGVxdWVDb25zdEl0ZXJhdG9y
PFQ+IGNvbnN0X2l0ZXJhdG9yOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKaW5kZXggYmIx
ODI1ZS4uYjZhNTM0NiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jh
c2UuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCkBAIC0zMiw4ICsz
Miw4IEBACiAvLyBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIGZhc3RNYWxsb2Mv
ZmFzdEZyZWUgYW5kIG9wZXJhdG9yIG5ldy9kZWxldGUKIC8vCiAvLyBQcm92aWRlZCBmdW5jdGlv
bmFsaXR5OgorLy8gICAgTWFjcm86IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAvLyAgICBuYW1l
c3BhY2UgV1RGIHsKLS8vICAgICAgICBjbGFzcyBGYXN0QWxsb2NCYXNlOwogLy8KIC8vICAgICAg
ICBUKiAgICBmYXN0TmV3PFQ+KCk7CiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxUPihhcmcpOwpA
QCAtNDgsNyArNDgsMTAgQEAKIC8vIEZhc3REZWxldGUgYXNzdW1lcyB0aGF0IHRoZSB1bmRlcmx5
aW5nCiAvLwogLy8gRXhhbXBsZSB1c2FnZToKLS8vICAgIGNsYXNzIFdpZGdldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsgLi4uIH07CisvLyAgICBjbGFzcyBXaWRnZXQgeworLy8gICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECisvLyAgICAuLi4KKy8vICAgIH07CiAvLwogLy8gICAgY2hh
ciogY2hhclB0ciA9IGZhc3ROZXc8Y2hhcj4oKTsKIC8vICAgIGZhc3REZWxldGUoY2hhclB0cik7
CkBAIC04NSw0MiArODgsNiBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotI2RlZmluZSBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCBcCi1wdWJsaWM6IFwKLSAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6
ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKLSAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShz
aXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIFwKLSAgICB2b2lkKiBvcGVyYXRv
ciBuZXcoc2l6ZV90IHNpemUpIFwKLSAgICB7IFwKLSAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpm
YXN0TWFsbG9jKHNpemUpOyBcCi0gICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRh
dGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKLSAgICAg
ICAgcmV0dXJuIHA7IFwKLSAgICB9IFwKLSAgICBcCi0gICAgdm9pZCBvcGVyYXRvciBkZWxldGUo
dm9pZCogcCkgXAotICAgIHsgXAotICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRh
dGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCi0gICAgICAg
IDo6V1RGOjpmYXN0RnJlZShwKTsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkKiBvcGVyYXRv
ciBuZXdbXShzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAgICB2b2lkKiBwID0gOjpXVEY6
OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlk
YXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwK
LSAgICAgICAgcmV0dXJuIHA7IFwKLSAgICB9IFwKLSAgICBcCi0gICAgdm9pZCBvcGVyYXRvciBk
ZWxldGVbXSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01h
dGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJh
eSk7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAotICAgIH0gXAotcHJpdmF0ZToK
LQotY2xhc3MgRmFzdEFsbG9jQmFzZSB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgIAot
fTsKLQogICAgIC8vIGZhc3ROZXcgLyBmYXN0RGVsZXRlCiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4KQEAgLTQxMCw3ICszNzcsNiBAQCBjbGFzcyBGYXN0QWxsb2NCYXNlIHsKIAogfSAvLyBu
YW1lc3BhY2UgV1RGCiAKLXVzaW5nIFdURjo6RmFzdEFsbG9jQmFzZTsKIHVzaW5nIFdURjo6ZmFz
dERlbGV0ZVNraXBwaW5nRGVzdHJ1Y3RvcjsKIAogI2VuZGlmIC8vIEZhc3RBbGxvY0Jhc2VfaApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaAppbmRleCA0ZWQ3NWM1Li5iOTdkOGM4IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjZGVmaW5l
IFdURl9IYXNoQ291bnRlZFNldF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVk
ZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJWZWN0
b3IuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZSwg
dHlwZW5hbWUgSGFzaEZ1bmN0aW9ucyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlPjo6SGFz
aCwKLSAgICAgICAgdHlwZW5hbWUgVHJhaXRzID0gSGFzaFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBI
YXNoQ291bnRlZFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUg
VHJhaXRzID0gSGFzaFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNldCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVk
ZWYgSGFzaE1hcDxWYWx1ZSwgdW5zaWduZWQsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cz4gSW1wbFR5
cGU7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAu
aCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKaW5kZXggMDkwOTRkMS4uNzczMTU0NiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaE1hcC5oCkBAIC0yOSw3ICsyOSw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1l
IEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxLZXlBcmc+OjpIYXNoLAogICAgICAgICB0
eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPEtleUFyZz4sIHR5cGVuYW1lIE1hcHBl
ZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPiA+Ci0gICAgY2xhc3MgSGFzaE1hcCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlU
cmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBw
ZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0Li5iZTZiOTNkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9yOwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFz
aDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0c0FyZyA9IEhhc2hUcmFp
dHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBI
YXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToK
ICAgICAgICAgdHlwZWRlZiBIYXNoQXJnIEhhc2hGdW5jdGlvbnM7CiAgICAgICAgIHR5cGVkZWYg
VHJhaXRzQXJnIFZhbHVlVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0xp
c3RIYXNoU2V0LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaAppbmRleCBlMTRh
YzQ1Li5lOTE2ZWYyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaApAQCAtNTIsNyArNTIsOCBA
QCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5PiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlQWxsb2NhdG9yOwogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1l
IEhhc2hBcmc+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVIYXNoRnVuY3Rpb25zOwogCi0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1NiwgdHlw
ZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaD4gY2xh
c3MgTGlzdEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1NiwgdHlwZW5hbWUgSGFz
aEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaD4gY2xhc3MgTGlzdEhh
c2hTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgog
ICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZTxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+
IE5vZGU7CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hTZXROb2RlQWxsb2NhdG9yPFZhbHVlQXJn
LCBpbmxpbmVDYXBhY2l0eT4gTm9kZUFsbG9jYXRvcjsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Mb2NrZXIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAppbmRleCA0MTgx
M2QzLi43ZGRjMTRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCkBAIC0yOCwxMSArMjgsMTEgQEAKICNpZm5k
ZWYgTG9ja2VyX2gKICNkZWZpbmUgTG9ja2VyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExv
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3Mg
TG9ja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NrZXIpOwogcHVibGljOgogICAg
IExvY2tlcihUJiBsb2NrYWJsZSkgOiBtX2xvY2thYmxlKGxvY2thYmxlKSB7IG1fbG9ja2FibGUu
bG9jaygpOyB9CiAgICAgfkxvY2tlcigpIHsgbV9sb2NrYWJsZS51bmxvY2soKTsgfQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5o
CmluZGV4IDNjYWE4MTAuLjVmZTUwYjUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9N
RDUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNk
ZWZpbmUgV1RGX01ENV9oCiAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3Rk
aW50Lmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvTWVzc2FnZVF1ZXVlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKaW5k
ZXggMTQxMDBjOS4uZDdkNTcxMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL01lc3Nh
Z2VRdWV1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaApAQCAtMzMs
NyArMzMsNiBAQAogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC00OCw3ICs0
Nyw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8vIHdoZW4gbWVzc2FnZXMgYXJlIGZldGNoZWQg
ZnJvbSB0aGUgcXVldWUuCiAgICAgLy8gRXNzZW50aWFsbHksIE1lc3NhZ2VRdWV1ZSBhY3RzIGFz
IGEgcXVldWUgb2YgT3duUHRyPERhdGFUeXBlPi4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRh
VHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1lc3NhZ2VRdWV1ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3Nh
Z2VRdWV1ZSk7CiAgICAgcHVibGljOgogICAgICAgICBNZXNzYWdlUXVldWUoKSA6IG1fa2lsbGVk
KGZhbHNlKSB7IH0KICAgICAgICAgfk1lc3NhZ2VRdWV1ZSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFi
bGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjg1ZWQyZS4uMDAwMDAwMAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDYz
ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiAgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV1RGX05vbmNvcHlhYmxl
X2gKLSNkZWZpbmUgV1RGX05vbmNvcHlhYmxlX2gKLQotI2lmbmRlZiBfX2hhc19mZWF0dXJlCi0g
ICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKLSNlbmRpZgotCi0jaWYgX19oYXNfZmVhdHVy
ZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCi0gICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJM
RShDbGFzc05hbWUpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwdXNoIikg
XAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3Vua25vd24t
cHJhZ21hc1wiIikgXAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQg
XCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKLSAgICAgICAgcHJpdmF0ZTogXAotICAgICAgICAg
ICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCi0gICAgICAgICAgICBD
bGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAotICAgICAg
ICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCi0jZWxzZQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIHByaXZhdGU6IFwKLSAgICAg
ICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAotICAgICAgICAgICAgQ2xhc3NO
YW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKLSNlbmRpZgotCi0vLyBXZSBkb24ndCB3
YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVsbCBpbiBldmVyeXRoaW5nIGZyb20g
dGhlIFdURgotLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBOb25jb3B5YWJsZSwgc28gcHV0IGl0
IGluIGl0cyBvd24gbmFtZXNwYWNlLgotCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCi1u
YW1lc3BhY2UgV1RGTm9uY29weWFibGUgewotCi0gICAgY2xhc3MgTm9uY29weWFibGUgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7Ci0gICAgICAgIE5vbmNvcHlhYmxlKGNvbnN0IE5vbmNvcHlhYmxl
Jik7Ci0gICAgICAgIE5vbmNvcHlhYmxlJiBvcGVyYXRvcj0oY29uc3QgTm9uY29weWFibGUmKTsK
LSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIE5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgICAgIH5Ob25j
b3B5YWJsZSgpIHsgfQotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlCi0K
LXVzaW5nIFdURk5vbmNvcHlhYmxlOjpOb25jb3B5YWJsZTsKLQotI2VuZGlmIC8vIFdURl9Ob25j
b3B5YWJsZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCmluZGV4IDY0M2I5MGIuLmNkNjRlZGEg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdU
Rl9Pd25BcnJheVB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9u
Y29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5jbHVkZSAiT3duQXJyYXlQdHJD
b21tb24uaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CkBAIC0zNSw3ICszNCw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093bkFycmF5UHRyOwogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRyPFQ+IGFkb3B0QXJyYXlQdHIoVCopOwog
Ci10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIHsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIFQqIFB0clR5cGU7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxv
Y1B0ci5oCmluZGV4IDhiNmNiZjQuLjlkNDg0MWEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RN
YWxsb2NQdHIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAjZGVmaW5lIE93bkZhc3RNYWxsb2NQdHJf
aAogCiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAK
IG5hbWVzcGFjZSBXVEYgewogCi0gICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1h
bGxvY1B0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xh
c3MgT3duRmFzdE1hbGxvY1B0ciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE93bkZh
c3RNYWxsb2NQdHIpOwogICAgIHB1YmxpYzoKICAgICAgICAgZXhwbGljaXQgT3duRmFzdE1hbGxv
Y1B0cihUKiBwdHIpIDogbV9wdHIocHRyKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKaW5kZXgg
Y2RjMjc3Yy4uZmI1OTQzMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaApAQCAtMjIsNyArMjIsNiBAQAogI2Rl
ZmluZSBXVEZfT3duUHRyX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIuaCIKICNpbmNsdWRlICJPd25QdHJDb21t
b24uaCIKICNpbmNsdWRlICJUeXBlVHJhaXRzLmgiCkBAIC0zOSw3ICszOCw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NPd25QdHI7CiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093blB0cjxUPiBhZG9wdFB0cihUKik7CiAKLSAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0ciB7CiAgICAgcHVibGljOgogICAg
ICAgICB0eXBlZGVmIHR5cGVuYW1lIFJlbW92ZVBvaW50ZXI8VD46OlR5cGUgVmFsdWVUeXBlOwog
ICAgICAgICB0eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlwZTsKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5k
ZXggMTJjM2UzZC4uZGRjOGEwZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTIsNiArMiw3IEBA
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmls
ZSwgSW5jLgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEw
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkg
b2YgU3plZ2VkCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTExMTgsNCArMTEx
OSw2MSBAQAogI2luY2x1ZGUgIkdUeXBlZGVmcy5oIgogI2VuZGlmCiAKKy8qIE5vbmNvcHlhYmxl
J3MgaW1wbGVtZW50YXRpb24gYXMgYSBtYWNybyAqLworCisjaWZuZGVmIF9faGFzX2ZlYXR1cmUK
KyAgICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAorI2VuZGlmCisKKyNpZiBfX2hhc19mZWF0
dXJlKGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKKyAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlB
QkxFKENsYXNzTmFtZSkgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHB1c2gi
KSBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XdW5rbm93
bi1wcmFnbWFzXCIiKSBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgaWdub3Jl
ZCBcIi1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAorICAgICAgICBwcml2YXRlOiBcCisgICAgICAg
ICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKKyAgICAgICAgICAg
IENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCisgICAg
ICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9wIikKKyNlbHNlCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgcHJpdmF0ZTogXAorICAg
ICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpOyBcCisgICAgICAgICAgICBDbGFz
c05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKQorI2VuZGlmCisKKy8qIFByb3ZpZGVz
IGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2Ygb3BlcmF0b3IgbmV3L2RlbGV0ZSAqLworCisjZGVm
aW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKK3B1YmxpYzogXAorICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAorICAgIHZvaWQqIG9wZXJh
dG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCisgICAgXAorICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAorICAgIHsgXAorICAgICAgICB2b2lkKiBw
ID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9j
TWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3
KTsgXAorICAgICAgICByZXR1cm4gcDsgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lkIG9wZXJh
dG9yIGRlbGV0ZSh2b2lkKiBwKSBcCisgICAgeyBcCisgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9j
TWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7
IFwKKyAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCisgICAgfSBcCisgICAgXAorICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCisgICAgeyBcCisgICAgICAgIHZvaWQq
IHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAorICAgICAgICA6OldURjo6ZmFzdE1hbGxv
Y01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05l
d0FycmF5KTsgXAorICAgICAgICByZXR1cm4gcDsgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lk
IG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKKyAgICB7IFwKKyAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ld0FycmF5KTsgXAorICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCisgICAgfSBc
Citwcml2YXRlOiBcCit0eXBlZGVmIGludCBUaGlzSXNIZXJlVG9Gb3JjZUFTZW1pY29sb25BZnRl
clRoaXNNYWNybworCiAjZW5kaWYgLyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291
bnRlZC5oCmluZGV4IDhkOGIzMDIuLmUwNjIyOTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9SZWZDb3VudGVkLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaApA
QCAtMjIsNyArMjIsNyBAQAogI2RlZmluZSBSZWZDb3VudGVkX2gKIAogI2luY2x1ZGUgIkFzc2Vy
dGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgorI2luY2x1ZGUgIkZhc3RBbGxvY0Jh
c2UuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTEzMSw3ICsxMzEsOCBAQCBpbmxpbmUgdm9p
ZCBhZG9wdGVkKFJlZkNvdW50ZWRCYXNlKiBvYmplY3QpCiAKICNlbmRpZgogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGljIFJlZkNvdW50ZWRCYXNlLCBwdWJs
aWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6
IHB1YmxpYyBSZWZDb3VudGVkQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVmQ291
bnRlZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZvaWQgZGVyZWYo
KQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6
CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkKICAgICB7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmIwN2I4OTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKQEAg
LTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVmaW5lIFdURl9SZWZQdHJf
aAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNp
bmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0zNiw3ICszNiw4IEBA
IG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlIHsg
SGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFz
cyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cigpIDogbV9wdHIoMCkgeyB9CiAg
ICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpIHsgcmVmSWZO
b3ROdWxsKHB0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNo
TWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCmluZGV4IDdmNmViZmUu
LjNjMDc2Y2UgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaApAQCAtNDIsNyArNDIsOCBA
QCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFpdHNBcmcs
IHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZz4KLSAgICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwg
TWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4gOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFy
ZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlU
cmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBw
ZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmll
ckRhdGFQdGhyZWFkcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRh
UHRocmVhZHMuaAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICszMSwxNCBA
QAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUgVGhyZWFk
SWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAvLyBIb2xk
cyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBhbmQgZW1w
bG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFibHkgcmVt
b3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVzIHJlZ3Vs
YXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rp
b24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhy
ZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVyRGF0YSgp
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAppbmRleCAzM2M2NjEyLi5hNmEx
Y2YyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKQEAgLTYyLDEyICs2Miwx
MiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmlt
aXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU2FmZVNoYXJlZEJhc2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5p
dGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uMTEzN2JkMiAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYgQEAKICNpZm5kZWYg
V1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNpZmljX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURTKQogI2luY2x1ZGUg
PHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIFRocmVh
ZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVu
YW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
aHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMoKTsKICAgICBUKiBv
cGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGF0aWMg
ZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQTEFURk9STShRVCkg
fHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBEYXRhIDogTm9uY29w
eWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBUaHJlYWRTcGVjaWZp
YzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30KICNpZiBQTEFURk9S
TShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMpOyB9CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3Ig
VGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNl
IFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi5mMmUwNTY1IDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFk
aW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RydWN0IE5l
d1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdUaHJlYWRDb250ZXh0
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBOZXdUaHJlYWRD
b250ZXh0KFRocmVhZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZvaWQqIGRhdGEsIGNvbnN0IGNoYXIq
IG5hbWUpCiAgICAgICAgIDogZW50cnlQb2ludChlbnRyeVBvaW50KQogICAgICAgICAsIGRhdGEo
ZGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAppbmRleCAwNDQzNjVmLi5kYWVhMThlIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZGluZy5oCkBAIC02Niw3ICs2Niw2IEBACiAjaW5jbHVkZSA8d3RmL0F0b21pY3Mu
aD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVNo
YXJlZC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmggYi9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjA2M2RlYzIgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaApAQCAtMzUsNyArMzUsNiBA
QAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1
ZGUgPHdpbmRvd3MuaD4KQEAgLTk2LDcgKzk1LDggQEAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJl
YWRXcml0ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQ29uZGl0aW9uOwogI2VuZGlmCiAg
ICAgCi1jbGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNdXRleCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpAQCAtMTEzLDcgKzExMyw4IEBA
IHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRleExvY2tlcjsKIAotY2xhc3Mg
UmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFkV3JpdGVMb2Nr
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKIHB1YmxpYzoKICAg
ICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzEs
OCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7
CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRDb25k
aXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5UaHJlYWRDb25k
aXRpb24oKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9WZWN0b3IuaAppbmRleCBmNzM3OTNmLi42OWUzZjg2IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Zl
Y3Rvci5oCkBAIC0yMSw4ICsyMSw3IEBACiAjaWZuZGVmIFdURl9WZWN0b3JfaAogI2RlZmluZSBX
VEZfVmVjdG9yX2gKIAotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKLSNpbmNsdWRlICJOb25j
b3B5YWJsZS5oIgorI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKICNpbmNsdWRlICJOb3RGb3VuZC5o
IgogI2luY2x1ZGUgIlN0ZExpYkV4dHJhcy5oIgogI2luY2x1ZGUgIlZhbHVlQ2hlY2suaCIKQEAg
LTI3Nyw3ICsyNzYsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4KLSAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVmVjdG9yQnVmZmVyQmFzZSk7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGFs
bG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICAgICAgewpAQCAtNDg4LDcgKzQ4
OCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
LCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAwPgotICAgIGNsYXNzIFZlY3RvciA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBWZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3RvckJ1ZmZlcjxU
LCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3RvclR5cGVPcGVy
YXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKaW5k
ZXggNTAxOWMzMy4uZDkyMDEwYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRo
cmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC0y
OSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykgaW4gV2ViQ29y
ZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpAQCAtNTEsNyAr
NTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBS
ZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJhbElkZW50aWZp
ZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICB+SWRlbnRpZmllclRhYmxlKCk7CiAKQEAgLTg0LDcgKzg0LDggQEAgY2xh
c3MgQXRvbWljU3RyaW5nVGFibGU7CiAKIHR5cGVkZWYgdm9pZCAoKkF0b21pY1N0cmluZ1RhYmxl
RGVzdHJ1Y3RvcikoQXRvbWljU3RyaW5nVGFibGUqKTsKIAotY2xhc3MgV1RGVGhyZWFkRGF0YSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXVEZUaHJlYWREYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXVEZUaHJlYWREYXRhKTsKIHB1YmxpYzoKICAgICBXVEZUaHJlYWREYXRh
KCk7CiAgICAgfldURlRocmVhZERhdGEoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9kdG9hLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAppbmRleCBjODljMDM2Li5i
NWIxMjYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0YXRpYyB2b2lk
IG11bHQoQmlnSW50JiBhUmVmLCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJlZiA9IGM7CiB9
CiAKLXN0cnVjdCBQNU5vZGUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2RlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKKyAgICBQNU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1Tm9kZSogbmV4
dDsKIH07CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKaW5kZXggY2VjM2U0My4uYTM3
ZDk4ZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaApAQCAtMjYsNyArMjYsNiBA
QAogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGV4dGVybiAiQyIgdm9pZCBnX2ZyZWUodm9p
ZCopOwogCkBAIC00MSw3ICs0MCw4IEBAIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdQ
YXR0ZXJuU3BlYz4oR1BhdHRlcm5TcGVjKik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0
cjxHRGlyPihHRGlyKik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHRmlsZT4oR0Zp
bGUqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25QdHIgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25QdHIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEdPd25QdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEdPd25Q
dHIoVCogcHRyID0gMCkgOiBtX3B0cihwdHIpIHsgfQogICAgIH5HT3duUHRyKCkgeyBmcmVlT3du
ZWRHUHRyKG1fcHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3Ry
aW5nQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAppbmRl
eCBhNTQ2YmYzLi5lNzNkMzhlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIu
aApAQCAtMzAsMTMgKzMwLDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFj
ZSBXVEYgewogCi1jbGFzcyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU3RyaW5nQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdCdWZmZXIp
OwogcHVibGljOgogICAgIGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNpZ25lZCBsZW5ndGgpCiAg
ICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nSW1wbEJhc2UuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0lt
cGxCYXNlLmgKaW5kZXggNjU2NzY3Mi4uMjZiYzFkOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4
dC9TdHJpbmdJbXBsQmFzZS5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5kZWYgU3RyaW5nSW1w
bEJhc2VfaAogI2RlZmluZSBTdHJpbmdJbXBsQmFzZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewogCi1jbGFzcyBTdHJpbmdJbXBsQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTdHJpbmdJbXBsQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5nSW1wbEJh
c2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBib29sIGlzU3RyaW5n
SW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52YWxpZEZv
clN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQogICAgIHVu
c2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5ICs0NSw2
IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAgICB1c2lu
ZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXpl
X3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFjZTsgfQot
CiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFuIGFycmF5
IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsgfQogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li5hOGJjZTEyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNp
Zm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVjdCBVQ29s
bGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIGVudW0gUmVzdWx0IHsgRXF1YWwgPSAwLCBHcmVhdGVyID0gMSwgTGVzcyA9IC0x
IH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5o
IGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKaW5kZXggZjc2MWNjYy4u
ZTExZTQzMyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVy
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKQEAgLTMwNCw3
ICszMDQsOCBAQCBzdHJ1Y3QgQnl0ZVRlcm0gewogICAgIH0KIH07CiAKLWNsYXNzIEJ5dGVEaXNq
dW5jdGlvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEJ5dGVEaXNqdW5jdGlvbiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQnl0ZURpc2p1bmN0
aW9uKHVuc2lnbmVkIG51bVN1YnBhdHRlcm5zLCB1bnNpZ25lZCBmcmFtZVNpemUpCiAgICAgICAg
IDogbV9udW1TdWJwYXR0ZXJucyhudW1TdWJwYXR0ZXJucykKQEAgLTMxNyw3ICszMTgsOSBAQCBw
dWJsaWM6CiAgICAgdW5zaWduZWQgbV9mcmFtZVNpemU7CiB9OwogCi1zdHJ1Y3QgQnl0ZWNvZGVQ
YXR0ZXJuIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQnl0ZWNvZGVQYXR0ZXJuIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4oUGFz
c093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24qPiBh
bGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJBbGxv
Y2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBtX2ln
bm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4u
aAppbmRleCAzN2I1NDRmLi5kZDU3NTFjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJy
L1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgK
QEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFjdGVy
Q2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgLy8gQWxsIENoYXJhY3RlckNsYXNz
IGluc3RhbmNlcyBoYXZlIHRvIGhhdmUgdGhlIGZ1bGwgc2V0IG9mIG1hdGNoZXMgYW5kIHJhbmdl
cywKICAgICAvLyB0aGV5IG1heSBoYXZlIGFuIG9wdGlvbmFsIHRhYmxlIGZvciBmYXN0ZXIgbG9v
a3VwcyAod2hpY2ggbXVzdCBtYXRjaCB0aGUKICAgICAvLyBzcGVjaWZpZWQgbWF0Y2hlcyBhbmQg
cmFuZ2VzKQpAQCAtMjAxLDcgKzIwMyw5IEBAIHN0cnVjdCBQYXR0ZXJuVGVybSB7CiAgICAgfQog
fTsKIAotc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0
IFBhdHRlcm5BbHRlcm5hdGl2ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJs
aWM6CiAgICAgUGF0dGVybkFsdGVybmF0aXZlKFBhdHRlcm5EaXNqdW5jdGlvbiogZGlzanVuY3Rp
b24pCiAgICAgICAgIDogbV9wYXJlbnQoZGlzanVuY3Rpb24pCiAgICAgICAgICwgbV9vbmNlVGhy
b3VnaChmYWxzZSkKQEAgLTI0Miw3ICsyNDYsOSBAQCBzdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZl
IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgYm9vbCBtX2NvbnRhaW5zQk9MIDogMTsKIH07CiAKLXN0
cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0ZXJu
RGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLmEzOTUyNGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yNiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjNWU3Mi4uOGRk
ODg1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yNiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0yNSAgS2VuaWNoaSBJc2hpYmFzaGkg
IDxiYXNoaUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBi
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGM1MTI2NzcuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotI2lmbmRlZiBXZWJDb3JlX0ZXRF9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdlYkNvcmVfRldE
X05vbmNvcHlhYmxlX2gKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgot
I2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxOWFhZjVjLi5j
NTE1NzVlIDEwMDc1NQotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTYzNTY5LDEw
ICs2MzU2OSw2IEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcTm9uY29weWFibGUuaCINCi0JCQkJ
CT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1x3dGZcT3duQXJyYXlQdHIuaCINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDJlZTU2ZWUuLjBjM2YwODcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtNTcsNyArNTcsOCBAQCBz
dHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RUeXBlIHsgUG9zdFN5bmNocm9ub3Vz
bHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBBWE9iamVjdENhY2hlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5iNjk3NmFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
YWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcj4gY3JlYXRlKENhY2hlZFNjcmlwdCogY2FjaGVkU2Ny
aXB0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIoY2Fj
aGVkU2NyaXB0KSk7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRy
b2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKaW5kZXggNGMyNTQw
Ny4uOTFmMWU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwxMiArMjYs
MTIgQEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZy
aWVuZCBHQ0NvbnRyb2xsZXImIGdjQ29udHJvbGxlcigpOwogCiAgICAgcHVibGljOgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmgKaW5kZXggNTRlOWNmNi4uNzczYjU3MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8cnVudGltZS9M
b29rdXAuaD4KICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ01hcC5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBw
ZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5mNDM5NzMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rl
YnVnV3JhcHBlclNldC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJKU0RPTVdyYXBw
ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRlZCB3aXRob3V0IGJlaW5n
IHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGNhY2hlZCB0
d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNEZWJ1
Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVhZFNwZWNpZmljPEpTRGVi
dWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1Z1dyYXBwZXJTZXQmIHNo
YXJlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVj
U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKaW5k
ZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01h
aW5UaHJlYWRFeGVjU3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVh
ZEV4ZWNTdGF0ZS5oCkBAIC0zMCwxMSArMzAsMTEgQEAKICNpZm5kZWYgTkRFQlVHCiAjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KICNlbmRpZgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTWFpblRocmVhZEV4ZWNTdGF0ZSk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIEpTQzo6RXhlY1N0YXRlKiBjdXJyZW50U3RhdGUoKQogICAgIHsgCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi41OWFkNmZjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwgZWl0aGVyIG9uY2Ugb3IgcmVwZWF0ZWRs
eS4gVXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQogICAgICogYW5kIHdpbmRvdy5zZXRJbnRl
cnZhbCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVh
dGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1
Li41ZjY5MWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZy
YW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdp
bmRvdzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRG
cmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgdHlwZWRlZiBIYXNo
TWFwPCBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5k
b3c+ID4gSlNET01XaW5kb3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdERlYnVnU2VydmVyLmgKaW5kZXggMzE3MmM2NS4uMzAwMGFiZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBQYWdlR3Jv
dXA7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogY2xhc3MgSmF2YVNjcmlwdENhbGxGcmFt
ZTsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1NlcnZlcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVk
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaCBi
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRk
NjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC0zMiwxMSArMzIsMTEg
QEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlw
dFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBT
dHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9w
KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFN0YXRlLmgKaW5kZXggMGMwODYxMS4uNDk3MTkyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2RlZmluZSBTY3JpcHRTdGF0ZV9oCiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGVjU3RhdGU7CkBAIC01Miw3ICs1MSw4IEBAIGNsYXNz
IFBhZ2U7CiAvLyBGb3Igbm93LCB0aGUgc2VwYXJhdGlvbiBpcyBwdXJlbHkgYnkgY29udmVudGlv
bi4KIHR5cGVkZWYgSlNDOjpFeGVjU3RhdGUgU2NyaXB0U3RhdGU7CiAKLWNsYXNzIFNjcmlwdFN0
YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIo
U2NyaXB0U3RhdGUqKTsKICAgICB+U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDE3ICsy
NCwxOCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRE9NT2Jq
ZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xv
YmFsRGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVK
U0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsK
ICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxE
YXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmly
dHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3Js
ZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjQ1Nzg5MTMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0
OwogCi0gICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2Vy
Q29udGV4dCopOwogICAgICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaAppbmRleCBjOGI0YTQxLi4wOWQ1MzQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApAQCAt
NDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gdGhyZWFkLiAgVGhlIERP
TURhdGEgZm9yIHRoZSBtYWluIHRocmVhZCBhbmQgdGhlIERPTURhdGEgZm9yIGNoaWxkIHRocmVh
ZHMKICAgICAvLyB1c2UgZGlmZmVyZW50IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBE
T01EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBE
T01EYXRhKCk7CiAgICAgICAgIHZpcnR1YWwgfkRPTURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURh
dGFTdG9yZS5oCmluZGV4IDM3NThlMjMuLjhjNmMwMmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRh
U3RvcmUuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMTQ5LDcgKzE0OCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNuJ3QgbWFuYWdl
IHRoZSBsaWZldGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAgIC8vIGxpZmV0
aW1lIGlzIG1hbmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGFT
dG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGVudW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9NTm9kZU1hcCwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmluZGV4IDFhYTFm
NjIuLmY0MmU4MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaApAQCAtNjAsMTQgKzYwLDE0IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5o
IgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNz
IFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Ny
aXB0Q2FjaGVkRnJhbWVEYXRhICB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhICk7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKEZyYW1l
Kik7CiAgICAgflNjcmlwdENhY2hlZEZyYW1lRGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDVjNWQ2YzYuLjQ0MWFiM2QgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHY4LWRlYnVnLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNDgsNyArNDcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5l
cjsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU2NyaXB0RGVidWdTZXJ2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERl
YnVnU2VydmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1YTA1NC4uZTA5
NjllMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzYsMTMgKzM2LDEz
IEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiAKLWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQo
U2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3Ry
aW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKaW5kZXggMTE4MTNiMC4uZGMy
NDcxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogCiAj
aW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsK
IGNsYXNzIFBhZ2U7CiAKLWNsYXNzIFNjcmlwdFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNjcmlwdFN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0
ZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYWRFeGNlcHRpb24oKSB7IHJldHVybiAhbV9leGNlcHRp
b24uSXNFbXB0eSgpOyB9CiAgICAgdm9pZCBzZXRFeGNlcHRpb24odjg6OkxvY2FsPHY4OjpWYWx1
ZT4gZXhjZXB0aW9uKQpAQCAtNzksNyArNzksOCBAQCBwdWJsaWM6CiAgICAgfkVtcHR5U2NyaXB0
U3RhdGUoKSB7IH0KIH07CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7CiBwdWJsaWM6CiAgICAg
U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKSA6IG1fc2NyaXB0U3RhdGUoMCkgeyB9CiAgICAgU2Ny
aXB0U3RhdGVQcm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKSA6IG1fc2NyaXB0
U3RhdGUoc2NyaXB0U3RhdGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAKaW5kZXggMzZmYzFmNi4uMmMyODc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIHByaXZh
dGU6CiAKIC8vIFdyaXRlciBpcyByZXNwb25zaWJsZSBmb3Igc2VyaWFsaXppbmcgcHJpbWl0aXZl
IHR5cGVzIGFuZCBzdG9yaW5nCiAvLyBpbmZvcm1hdGlvbiB1c2VkIHRvIHJlY29uc3RydWN0IGNv
bXBvc2l0ZSB0eXBlcy4KLWNsYXNzIFdyaXRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdyaXRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV3JpdGVyKTsKIHB1YmxpYzoKICAgICBXcml0
ZXIoKQogICAgICAgICA6IG1fcG9zaXRpb24oMCkKQEAgLTM3Nyw3ICszNzgsOCBAQCBwdWJsaWM6
CiAgICAgfQogCiBwcml2YXRlOgotICAgIGNsYXNzIFN0YXRlQmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU3RhdGVCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3RhdGVCYXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflN0YXRlQmFzZSgp
IHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1dlYkNvcmUvYnJp
ZGdlL0JyaWRnZS5oCmluZGV4IDUwZWZjNjQuLjAwZDZmMzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YnJpZGdlL0JyaWRnZS5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCkBAIC0yOCwxNCAr
MjgsMTUgQEAKICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJyaWRnZUpTQy5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDICB7CiAKIG5hbWVzcGFj
ZSBCaW5kaW5ncyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBNZXRob2QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhvZCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQogICAgIHZpcnR1YWwgaW50
IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIH5NZXRob2QoKSB7IH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaCBiL1dlYkNvcmUvYnJp
ZGdlL0lkZW50aWZpZXJSZXAuaAppbmRleCA5OWJhZTBiLi41ZTE1N2MwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSWRlbnRpZmllclJlcF9oCiAK
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNl
Lmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlmaWVyUmVwIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQp
OwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0Jy
aWRnZUpTQy5oCmluZGV4IDk2OTc0ZDkuLmViY2ZhYWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJp
ZGdlL2pzYy9CcmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgK
QEAgLTU5LDggKzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsK
IAotY2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgQ2xhc3MoKSB7IH0KICAgICB2aXJ0dWFsIE1ldGhvZExpc3QgbWV0aG9kc05h
bWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IEZpZWxkKiBmaWVsZE5hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0g
MDsKICAgICB2aXJ0dWFsIEpTVmFsdWUgZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiwgSW5zdGFu
Y2UqLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4ganNVbmRlZmluZWQoKTsgfQpAQCAtMTI1
LDcgKzEyNyw4IEBAIHByaXZhdGU6CiAgICAgV2Vha0dDUHRyPFJ1bnRpbWVPYmplY3Q+IG1fcnVu
dGltZU9iamVjdDsKIH07CiAKLWNsYXNzIEFycmF5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEFycmF5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcnJheSk7CiBwdWJsaWM6CiAg
ICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7CiAgICAgdmlydHVhbCB+QXJyYXkoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIGIvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9yb290LmgKaW5kZXggYmFiZDdhZC4uMzlmYjM1NyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9y
b290LmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaCBiL1dlYkNvcmUvY3NzL0NTU0lt
YWdlVmFsdWUuaAppbmRleCA4MzNkN2ZlLi4xNzRmMWVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC0z
Miw2ICszMiw3IEBAIGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2U7CiBjbGFzcyBTdHlsZUltYWdlOwog
CiBjbGFzcyBDU1NJbWFnZVZhbHVlIDogcHVibGljIENTU1ByaW1pdGl2ZVZhbHVlLCBwcml2YXRl
IENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoKSB7IHJl
dHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NJbXBvcnRSdWxlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggMTBkMzAy
Ni4uYWQ0ZTk3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBi
L1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNo
ZWRDU1NTdHlsZVNoZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxl
IDogcHVibGljIENTU1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENT
U0ltcG9ydFJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYg
aHJlZiwgUGFzc1JlZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5k
ZXggNjIyNWMzNi4uOTI2MzhmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNl
LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTTmFtZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgogICAgICAgICBBdG9taWNTdHJpbmcgcHJlZml4OwogICAgICAgICBBdG9taWNTdHJpbmcgdXJp
OwogICAgICAgICBPd25QdHI8Q1NTTmFtZXNwYWNlPiBwYXJlbnQ7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGFjZjk3
ZjIuLjA2ZTBhMzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0zMjksNyArMzI5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGludCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYpOwogICAgIGludCBjc3NW
YWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKIAotICAgIGNsYXNzIFNob3J0
aGFuZFNjb3BlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNob3J0aGFuZFNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBTaG9ydGhhbmRTY29wZShDU1NQYXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3Bh
cnNlcihwYXJzZXIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggOTkzYWUyOC4u
OTk2ZTc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IENT
U1BhcnNlclZhbHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjcmVhdGVDU1NWYWx1ZSgp
OwogfTsKIAotY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVu
dCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1
ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5hbWU7CiAgICAgT3duUHRy
PENTU1BhcnNlclZhbHVlTGlzdD4gYXJnczsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5oIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAppbmRleCAxMDYxNzFkLi4x
MGU1OTNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBDU1NQcm9wZXJ0eSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IENTU1Byb3BlcnR5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBDU1NQcm9wZXJ0eShpbnQgcHJvcElELCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9v
bCBpbXBvcnRhbnQgPSBmYWxzZSwgaW50IHNob3J0aGFuZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9
IGZhbHNlKQogICAgICAgICA6IG1faWQocHJvcElEKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGZiOGY2
OTUuLjQyY2RmNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTM3LDggKzM3LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotY2xhc3MgQ1NTU2Vs
ZWN0b3JCYWcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTU2VsZWN0b3JCYWcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yQmFnKTsKIHB1YmxpYzoKKyAgICBD
U1NTZWxlY3RvckJhZygpIHsgfQogICAgIH5DU1NTZWxlY3RvckJhZygpCiAgICAgewogICAgICAg
ICBBU1NFUlQoaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDAwZTIzYjkuLmRkYzBhYTAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuaApAQCAtMjQsNyArMjQsNiBAQAogCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5o
IgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IENTU1NlbGVjdG9yQmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0
b3IgZm9yIGEgU3R5bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIENTU1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5k
YW50KQpAQCAtMzAyLDcgKzMwMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5z
aWduZWQgc3BlY2lmaWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBz
ZXVkb1R5cGUoKSBjb25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJs
ZSB7CisgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBSYXJlRGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0
b3J5KQogICAgICAgICAgICAgICAgIDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2IoMCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3JMaXN0LmgKaW5kZXggOWU0MGVmOC4uNzFjZWE2ZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JM
aXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxlY3Rvckxpc3RfaAogCiAj
aW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAgICAg
fkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCAxZmYzYmQ1
Li4wNWExYmY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAor
KysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzQ5LDcgKzM0OSw4IEBA
IGlmIChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJldHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxl
U2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVTZXQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwogcHVibGljOgogICAgIENTU1J1bGVTZXQoKTsK
ICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmluZGV4IGI3MTg3NTEuLjNl
MmViNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5
bGVkRWxlbWVudDsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lUnVsZTsKIGNsYXNzIFdlYktpdENT
U0tleWZyYW1lc1J1bGU7CiAKLWNsYXNzIE1lZGlhUXVlcnlSZXN1bHQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTWVkaWFRdWVyeVJlc3VsdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTWVkaWFRdWVyeVJlc3VsdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1
bHQpCiAgICAgICAgIDogbV9leHByZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1Ymxp
YzoKIH07CiAKICAgICAvLyBUaGlzIGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBn
aXZlbiBlbGVtZW50IGJhc2VkIG9uIGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBj
bGFzcyBDU1NTdHlsZVNlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
U1NTdHlsZVNlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVT
ZWxlY3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
Q1NTU3R5bGVTZWxlY3RvcihEb2N1bWVudCosIFN0eWxlU2hlZXRMaXN0KiBhdXRob3JTaGVldHMs
IENTU1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBDU1NTdHlsZVNoZWV0KiBwYWdlVXNlclNoZWV0LCBjb25zdCBWZWN0b3I8UmVmUHRyPENT
U1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91cFVzZXJTaGVldHMsCkBAIC0yMDksNyArMjExLDggQEAg
cHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFJlbmRlclN0eWxlKiBzdHlsZU5v
dFlldEF2YWlsYWJsZSgpIHsgcmV0dXJuIHNfc3R5bGVOb3RZZXRBdmFpbGFibGU7IH0KIAotICAg
ICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2VsZWN0b3JDaGVja2VyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgU2VsZWN0
b3JDaGVja2VyKERvY3VtZW50KiwgYm9vbCBzdHJpY3RQYXJzaW5nKTsKIApAQCAtMzE1LDcgKzMx
OCw4IEBAIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQqPiBtX3ZpZXdw
b3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHM7CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1
bGVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NSdWxlRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAw
KQogICAgICAgICAgICAgOiBtX3Bvc2l0aW9uKHBvcykKQEAgLTM0Myw3ICszNDcsOCBAQCBwdWJs
aWM6CiAgICAgICAgIENTU1J1bGVEYXRhKiBtX25leHQ7CiAgICAgfTsKIAotICAgIGNsYXNzIENT
U1J1bGVEYXRhTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURh
dGFMaXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YUxpc3QodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwp
CiAgICAgICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnkuaAppbmRleCAyODEwMDliLi5hNjM4YWM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBN
ZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBlbnVtIFJlc3RyaWN0b3IgewogICAgICAgICBPbmx5LCBOb3QsIE5v
bmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaCBiL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCAwMGFjMzk0Li4wN2M0ZDBkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE1lZGlhUXVl
cnlFeHA7CiAgKiB0aGUgZGV2aWNlIGNoYXJhY3RlcmlzdGljcyBhcmUgbm90IGtub3duLiBUaGlz
IGNhbiBiZSB1c2VkIHRvIHBydW5lIHRoZSBsb2FkaW5nCiAgKiBvZiBzdHlsZXNoZWV0cyB0byBv
bmx5IHRob3NlIHdoaWNoIGFyZSBwcm9iYWJsZSB0byBtYXRjaC4KICAqLwotY2xhc3MgTWVkaWFR
dWVyeUV2YWx1YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeUV2YWx1YXRvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIC8qKiBDcmVhdGVzIGV2YWx1
YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBzaW1wbGUgbWVkaWEgcXVlcmllcwogICAgICAqICBF
dmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciAiYWxsIiwgYW5kIHJldHVybnMgdmFsdWUgb2YgXG1l
ZGlhRmVhdHVyZVJlc3VsdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5o
IGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCmluZGV4IDcyZDNmZmYuLjdlNGQ0NzcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAorKysgYi9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5l
ci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNw
cApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFzeW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0
U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBDYWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChl
bGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAgICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2
ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2Vf
cGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKKyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFw
cGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5y
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYoKXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgog
ICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJD
b3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCmluZGV4IDFhMDUxYTguLjNmNzFkZjMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20v
QXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERv
Y3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVudDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVu
bmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEFzeW5jU2NyaXB0UnVu
bmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KSB7IHJldHVybiBuZXcgQXN5bmNTY3JpcHRS
dW5uZXIoZG9jdW1lbnQpOyB9CiAgICAgfkFzeW5jU2NyaXB0UnVubmVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaCBiL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
CmluZGV4IDg2YTIyYjAuLjc1MTRhYjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RPTVN0cmlu
Z01hcC5oCisrKyBiL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCkBAIC0yNyw3ICsyNyw2IEBA
CiAjZGVmaW5lIERPTVN0cmluZ01hcF9oCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBFbGVtZW50OwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAotY2xhc3MgRE9N
U3RyaW5nTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVN0cmluZ01hcCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NU3RyaW5nTWFwKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NU3RyaW5nTWFwKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApp
bmRleCA4M2JhODg1Li5iOWRhZGE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00NjU1LDcgKzQ2NTUsOSBAQCB2
b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlw
ZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAogICAgICAgICB3aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVz
c2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDogTm9uY29weWFibGUgeworc3RydWN0
IFBlcmZvcm1UYXNrQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRh
c2tDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUGVyZm9y
bVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1lbnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJl
ZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQog
ICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRvY3VtZW50UmVmZXJlbmNlKQogICAgICAgICAs
IHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZm
YjdmMy4uZTEyZjIzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAg
LTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7
CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgorICAgIERvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgfQogICAgIH5Eb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIoKSB7IGRldGFjaCgpOyB9CiAKICAgICB2b2lkIGRldGFjaCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5k
ZXggZjA1ZDM2Yy4uY2Q0OWRlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuaAorKysg
Yi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0yNCw2ICsyNCw3IEBACiAjaWZuZGVmIEV2ZW50X2gK
ICNkZWZpbmUgRXZlbnRfaAogCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiRE9N
VGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpAQCAtMzEsOCArMzIsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAg
ICBjbGFzcyBDbGlwYm9hcmQ7Ci0KICAgICBjbGFzcyBFdmVudCA6IHB1YmxpYyBSZWZDb3VudGVk
PEV2ZW50PiB7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFBoYXNlVHlwZSB7IApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CmluZGV4IDQ5NjgwNGUuLjY4NmQ5YjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE3OCw3ICsxNzgsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1Jf
RUFDSAogCi0gICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRXZlbnROYW1lcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TmFt
ZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVk
ZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRl
IHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2
ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCBkZGNiNjYz
Li44MWVlYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcgKzgzLDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLCAxPiBFdmVu
dExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIEV2ZW50
TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFwOwogCi0gICAgc3RydWN0IEV2ZW50VGFy
Z2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRUYXJnZXREYXRhIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRUYXJnZXREYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBFdmVudFRhcmdldERhdGEoKTsKICAg
ICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9JZ25v
cmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9kb20vSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNy
ZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudElu
Y3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2
ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEln
bm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IG1fY291bnQoZG9jdW1lbnQg
PyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50IDogMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvV2ViQ29yZS9kb20vTWVzc2Fn
ZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMDc2NjhhNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRD
aGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8g
TWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRv
IHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4KICAgICAvLyBJdCBhY3RzIGFz
IGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQ
b3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHBsYXRmb3Jt
LWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4K
LSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQ
b3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBAIC03OCw3ICs3OSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm94eSBjdXJy
ZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9ydC4KICAgICAgICAgYm9vbCBoYXNQ
ZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBFdmVudERhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEgeworICAgICAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
ICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEV2ZW50RGF0YT4gY3Jl
YXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdl
UG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IGFiMjA4ZDIuLjczNTBmODAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IE5vZGVM
aXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0
YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNl
dDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAgICBOb2RlTGlzdFNldCBtX2xpc3Rz
V2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAgcHJpdmF0ZToKICAgICB9CiB9Owog
ICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5v
ZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6ICAgIAogICAgIE5vZGVSYXJlRGF0YSgpCiAg
ICAgICAgIDogbV90YWJJbmRleCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IDM0ZmMwNjkuLmNiOTVm
MjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9XZWJDb3Jl
L2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTMyLDcgKzMyLDggQEAgc3RydWN0IFF1YWxpZmllZE5h
bWVDb21wb25lbnRzIHsKICAgICBTdHJpbmdJbXBsKiBtX25hbWVzcGFjZTsKIH07CiAKLWNsYXNz
IFF1YWxpZmllZE5hbWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBRdWFsaWZpZWRO
YW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBjbGFzcyBR
dWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3VudGVkPFF1YWxpZmllZE5hbWVJbXBsPiB7
CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4IGI2YmViNmUuLjQwMTNjMWMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVudDsKIGNsYXNz
IFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hl
ZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBp
c0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjQ1NjZhNjEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CisgICAgICAgICAgICBUYXNrKCkg
eyB9CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7CiAgICAgICAgICAgICB2aXJ0dWFsIHZv
aWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKICAgICAgICAgICAg
IC8vIENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVjaWFsbHkgc28gdGhhdCB0aGV5IGFyZW4n
dCBkaXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdoZW4gdGhlIGNvbnRleHQgaXMgc2h1dHRp
bmcgZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NwYWNl
U3BsaXRTdHJpbmcuaCBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAppbmRleCA4MjZl
NmJkLi42ZWI4OTNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgK
KysrIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCkBAIC0yOCw3ICsyOCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNwYWNlU3BsaXRTdHJpbmdEYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5nRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNlU3BsaXRTdHJpbmdEYXRhKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTcGFjZVNwbGl0U3RyaW5n
RGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzaG91bGRGb2xkQ2FzZSkKICAgICAgICAg
ICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRGb2xkQ2FzZShzaG91bGRGb2xkQ2FzZSks
IG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKaW5kZXggZjk3YWZjZi4u
NmMwMTRhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKKysrIGIv
V2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFC
TEUoWFNMVCkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVRyYW5zZm9ybVNv
dXJjZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2UgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQbGF0Zm9ybVRyYW5zZm9y
bVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJjZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJH
ZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyR2Vz
dHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJHZXN0dXJlSW5k
aWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzYsNyArMzUsOCBA
QCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5Tm90UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0
YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KICAgICBzdGF0
aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0
dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9V
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1VzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVXNlclR5
cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRv
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyVHlw
aW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxlbWVudEF0R2VzdHVyZVN0
YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oIGIvV2Vi
Q29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2MyLi5lZTgxZDc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvZG9t
L1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRh
YmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8WE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZy
YW1lVmlldyogdmlldykKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGli
eG1sMi5jcHAKaW5kZXggN2EzMjg1Zi4uNmVkZTc4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlckxpYnhtbDIuY3BwCkBAIC03NSw4ICs3NSwxMCBAQCB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBlbmRpbmdDYWxsYmFja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAgUGVuZGluZ0NhbGxi
YWNrcygpIHsgfQogICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKICAgICB7CiAgICAgICAgIGRlbGV0
ZUFsbFZhbHVlcyhtX2NhbGxiYWNrcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1
bWVudFBhcnNlclNjb3BlLmggYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgK
aW5kZXggNThlOGE2Yi4uOGY0MTkzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKICNk
ZWZpbmUgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogI2lmIEVOQUJMRShYU0xUKQogI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CkBAIC0z
Niw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENhY2hlZFJlc291
cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTERvY3VtZW50UGFyc2VyU2NvcGUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZShDYWNoZWRSZXNvdXJjZUxvYWRlciog
Y2FjaGVkUmVzb3VyY2VMb2FkZXIpOwogICAgICAgICB+WE1MRG9jdW1lbnRQYXJzZXJTY29wZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKaW5kZXggMTI4NmMwNy4u
NGQ5MjhjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXIuaAorKysgYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCkBAIC0z
Niw3ICszNiw4IEBAIGNsYXNzIEhUTUxFbGVtZW50OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xh
c3MgVmlzaWJsZVNlbGVjdGlvbjsKIAotY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWxldGVCdXR0b25Db250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEZWxldGVCdXR0b25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlcihGcmFtZSop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRleCBm
YjUyZTU2Li4xYzdiNzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZC5jcHAKQEAgLTU5LDcgKzU5LDggQEAgZW51bSBFRnJhZ21lbnRUeXBlIHsgRW1wdHlGcmFn
bWVudCwgU2luZ2xlVGV4dE5vZGVGcmFnbWVudCwgVHJlZUZyYWdtZW50IH07CiAKIC8vIC0tLSBS
ZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1jbGFzcyBSZXBsYWNlbWVudEZyYWdt
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2VtZW50RnJhZ21lbnQpOwogcHVibGljOgog
ICAgIFJlcGxhY2VtZW50RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1bWVudEZyYWdtZW50KiwgYm9v
bCBtYXRjaFN0eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvU2Vs
ZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDhjYzg5ZTQuLmQ1NTYwZjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5n
L1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlNjcm9s
bEJlaGF2aW9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0
aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKIGVudW0gRGly
ZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24sIE1ha2VEaXJl
Y3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVy
YXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rpb25Gb3J3YXJkLCBE
aXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxlZnQgfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBiL1dlYkNvcmUvZWRp
dGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTljNzU1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysrIGIvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAg
ICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNzIFRleHRDaGVja2lu
Z0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBlcik7CiBwdWJsaWM6
CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NSZWZQdHI8UmFuZ2U+
KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmlu
ZGV4IDJlYTE2ZmIuLjFmMDUxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC01Nyw3
ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVwcyBlbm91Z2ggb2Yg
dGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhlIGZ1dHVyZSwgYnV0
IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMgZXF1YWwgdG8gbm9y
bWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYgPGlzQ2FzZVNlbnNp
dGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWFyY2hC
dWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJpbmcmIHRhcmdldCwg
Ym9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVh
ZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9G
aWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApAQCAtNTQsNyAr
NTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQgc3RvcCgpOwogCi0g
ICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGFzayB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoKICAgICAgICAg
dmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soKSA9
IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmggYi9XZWJD
b3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJhNzAxMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUv
ZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBGaWxlU3lz
dGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAvLyBLZWVwcyBw
ZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9pbnQgdG8gb3Bl
biBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXByb2Nlc3Mg
aW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBMb2NhbEZpbGVT
eXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVmb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmggYi9XZWJDb3Jl
L2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIwYWM0OSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBiL1dlYkNv
cmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBAQCBjbGFzcyBG
aWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5c3RlbVN5bmMg
aW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxiYWNrLCB0eXBl
bmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFtZSBSZXN1bHRU
eXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3luY0Nh
bGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFja0hlbHBlcjxT
dWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3VsdFR5cGU+IEhl
bHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSogb2JzZXJ2ZXIg
PSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5o
IGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmluZGV4IGU4OWUzMmIu
Ljk3ZWQ2YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xs
ZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKQEAgLTI2
LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKICNkZWZpbmUgQmFj
a0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC0zNiw3
ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xh
c3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQmFja0ZvcndhcmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVmUHRyPEJhY2tG
b3J3YXJkTGlzdD4pOwogICAgIH5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaCBiL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUu
aAppbmRleCA3MWFlNWFkLi5jZjJhMGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2hpc3RvcnkvUGFn
ZUNhY2hlLmgKKysrIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAgICBjbGFzcyBQ
YWdlQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VDYWNoZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSogcGFnZUNhY2hl
KCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5o
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEuLjhlNGEwNjYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3Jl
L2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBDb2xsZWN0aW9u
Q2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNhY2hlJiBvcGVy
YXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9r
ZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uOGY2ZmQ0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9r
ZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
RE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJsaWMgUmVmQ291
bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVNldHRhYmxlVG9rZW5MaXN0PiBj
cmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBi
L1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAppbmRleCA1ZGYyZWRlLi4wYjc1YjY2IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5oCkBAIC0yNywxNSArMjcsMTYgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgRE9NVG9rZW5MaXN0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIERPTVRva2VuTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRE9NVG9rZW5MaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAg
RE9NVG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkge307CiAKICAg
ICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4
IGZjYjJiZTguLmVhYmVhMzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEyMTEs
NyArMTIxMSw5IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVTZXBhcmF0ZUZy
b21BdHRyaWJ1dGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RydWN0IEV2ZW50
SGFuZGxpbmdTdGF0ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0
ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUmVmUHRyPEhU
TUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWluYXRlOwog
ICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJR
dWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBkZTcxMC4u
M2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNk
ZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBh
cnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQogICAgIHZp
cnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9J
bnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2ZhLi5hNDA4
MTFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJl
bmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0eXBlLXNw
ZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBvc2UgaW5z
dGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8gY2xhc3Nl
cwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCosIGNv
bnN0IEF0b21pY1N0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3Jl
YXRlVGV4dChIVE1MSW5wdXRFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvU3Rl
cFJhbmdlLmggYi9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2UwNDRlYS4uMWYxNjZi
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaApAQCAtMjIsMTMgKzIyLDEzIEBACiAjZGVmaW5lIFN0ZXBSYW5nZV9oCiAK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNsYXNz
IFN0ZXBSYW5nZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYXNT
dGVwOwogICAgIGRvdWJsZSBzdGVwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkYXRp
b25NZXNzYWdlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAppbmRleCBmZTE4
YjZiLi5mODNhNWU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2Uu
aAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtMzIsNyArMzIsNiBA
QAogI2RlZmluZSBWYWxpZGF0aW9uTWVzc2FnZV9oCiAKICNpbmNsdWRlICJUaW1lci5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ7CiAKLWNsYXNzIFZhbGlk
YXRpb25NZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkYXRpb25NZXNz
YWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2FnZSk7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNyZWF0ZShIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50Kik7CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5
U3RhdGUuaAppbmRleCA1MzJkZGIyLi5jM2ZjZGZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
VmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAgLTI5
LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxpZGl0eVN0YXRl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoSFRN
TEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGEyNWU4YTEuLjE1OTQ1NDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBi
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yOSw3ICsy
OSw2IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xh
c3MgSFRNTFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9iamVjdDsKIAot
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYW52
YXNSZW5kZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZpcnR1
YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJl
bG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2Fk
U2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgog
ICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBACiAj
aW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlvblNp
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1YmxpYzoK
ICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5nUGVy
bWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rpb25T
aXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQqIGZv
cm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhUTUxG
b3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJl
bnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3Rl
clBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDogbV90
cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBh
cnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCAw
NTA1M2RmLi41YTU2MDJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1
bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2Vy
LmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNjcmlw
dFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2NyaXB0
YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1bWVudCogZG9j
dW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxl
bWVudFN0YWNrLmgKaW5kZXggOGE4ZTE2MC4uYTMyZWZhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRWxlbWVudFN0YWNrLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSFRNTEVsZW1lbnRT
dGFja19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM5LDEyICszOCwxNCBAQCBjbGFzcyBR
dWFsaWZpZWROYW1lOwogCiAvLyBOT1RFOiBUaGUgSFRNTDUgc3BlYyB1c2VzIGEgYmFja3dhcmRz
IChncm93cyBkb3dud2FyZCkgc3RhY2suICBXZSdyZSB1c2luZwogLy8gbW9yZSBzdGFuZGFyZCAo
Z3Jvd3MgdXB3YXJkcykgc3RhY2sgdGVybWlub2xvZ3kgaGVyZS4KLWNsYXNzIEhUTUxFbGVtZW50
U3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEVsZW1lbnRTdGFjayB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEVsZW1lbnRTdGFjayk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAgICB+SFRNTEVs
ZW1lbnRTdGFjaygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29yZCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVsZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgfkVsZW1lbnRSZWNv
cmQoKTsgLy8gUHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1YmIuLmY3NWZh
NTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50
TGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlz
dC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7
CiAKIC8vIFRoaXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNrLgotY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
VE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0dGluZ0Vs
ZW1lbnRMaXN0KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9mIHRoZSBhZnRl
ckluc2VydGlvblBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRhdGEgYXQgdGhl
IGVuZCBvZiB0aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0gdG8gdGhlICJs
YXN0IiBzdHJpbmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1M
SW5wdXRTdHJlYW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAgICAgICAgIDog
bV9sYXN0KCZtX2ZpcnN0KQpAQCAtMTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAgICAgU2VnbWVu
dGVkU3RyaW5nKiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGljOgogICAgIGV4
cGxpY2l0IEluc2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRTdHJlYW0p
CiAgICAgICAgIDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDViZTMzYjAuLjY0NzYwMjIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgsMTQgQEAK
IAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAKLWNsYXNz
IEhUTUxQYXJzZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQ
YXJzZXJTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJTY2hl
ZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uYmVkNzdmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIEhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCmluZGV4IDZjZjc0ZDguLjk4NmY3YmQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVk
ZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcg
KzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdDsKIGNsYXNz
IFNjcmlwdFNvdXJjZUNvZGU7CiAKLWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSFRNTFNjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVu
dCogZG9jdW1lbnQsIEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUb2tlbi5oCmluZGV4IDQyY2RkYjguLjFjYmMxNTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9r
ZW4uaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNsdWRl
ICJOYW1lZE5vZGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBV
bmluaXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0
byBlbmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2Vz
LgogICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBl
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAg
ICAgICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihm
YWxzZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFz
cyBzaG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQog
Ly8gZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIu
Ci1jbGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRv
bWljSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4p
OwogcHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAg
ICA6IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmlu
ZGV4IGYxNmIwNDkuLmI1MGFhNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRva2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBA
IC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2Vn
bWVudGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBj
bGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3Miw3ICsxNzIs
OCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3Nw
ZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFt
Ci0gICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5pemVyKQogICAg
ICAgICAgICAgOiBtX3Rva2VuaXplcih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5jcHAKaW5kZXggM2QzOTEzMS4uMDQzMWNmOSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMjQwLDcgKzI0MCw4IEBAIEhUTUxGb3JtRWxlbWVu
dCogY2xvc2VzdEZvcm1BbmNlc3RvcihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8vIG5hbWVzcGFj
ZQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENo
YXJhY3RlclRva2VuQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHRlcm5hbENo
YXJhY3RlclRva2VuQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRlcm5hbENoYXJh
Y3RlclRva2VuQnVmZmVyKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV9jdXJy
ZW50KHRva2VuLmNoYXJhY3RlcnMoKS5kYXRhKCkpCkBAIC0yMzM0LDcgKzIzMzUsOCBAQCB2b2lk
IEhUTUxUcmVlQnVpbGRlcjo6cmVwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4p
CiAgICAgcHJvY2Vzc0VuZFRhZyh0b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6
RmFrZUluc2VydGlvbk1vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVC
dWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmFr
ZUluc2VydGlvbk1vZGUpOwogcHVibGljOgogICAgIEZha2VJbnNlcnRpb25Nb2RlKEhUTUxUcmVl
QnVpbGRlciogdHJlZUJ1aWxkZXIsIEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAgICAgOiBtX3Ry
ZWVCdWlsZGVyKHRyZWVCdWlsZGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
aW5kZXggMGU3NTk3Yy4uYjc0OWU3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRl
ci5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlz
dC5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0
UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1M
RG9jdW1lbnQ7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVHJlZUJ1aWxkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MVG9r
ZW5pemVyKiB0b2tlbml6ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJy
b3JzLCBib29sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwMyw3ICsyMDMs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlN
b2RlQW5kUmVzZXRNb2RlKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRG
b3JlaWduSW5zZXJ0aW9uTW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQp
OwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAg
ICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250
ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBA
IC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xl
dmVsSW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVs
SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1
bnNpZ25lZCYgbmVzdGluZ0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5n
TGV2ZWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCA0ZTg4YmVjLi5hZTkxMDFk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3Mg
U2NyaXB0Q2FsbEZyYW1lOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFs
dWU7CiAKLWNsYXNzIENvbnNvbGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IENvbnNvbGVNZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2Fn
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bSwgdW5zaWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0
Q2FsbFN0YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRl
eCBmODBjZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0
LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJT
Y3JpcHRPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0
aW9uQ2FjaGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50LmgKaW5kZXggMTFmMTBjZS4uNDliZTJhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJ
T05TKQogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNz
IEluc3BlY3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckNv
bnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVu
ZCk7CiAgICAgfkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGNhNWE5ZDkuLjhkNzIxZGQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEwMSw3ICsxMDEsOCBAQCBj
bGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtl
UmVzcG9uc2U7CiAjZW5kaWYKIAotY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRhdGFi
YXNlUmVzb3VyY2U+ID4gRGF0YWJhc2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFw
PGludCwgUmVmUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01TdG9yYWdlUmVz
b3VyY2VzTWFwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmlu
ZGV4IGFkYzkyNWEuLmUxMzcyOWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKQEAgLTUyLDcgKzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAg
ICAgTmF0aXZlQnJlYWtwb2ludERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERl
YnVnTGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxJbnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxl
ciosIEluc3BlY3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJB
Z2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbC5oCmluZGV4IDlkY2FhNWEuLmJjZWUxZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2lu
Y2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNw
ZWN0b3JGcm9udGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlcios
IFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXggZTY3ODQ4ZC4u
MWM0OWI5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApA
QCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3Mg
U2NyaXB0SGVhcFNuYXBzaG90OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xhc3MgSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JQ
cm9maWxlckFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JQcm9maWxl
ckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xs
ZXIqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4uODFhZDQ5MSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisr
KyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyAr
NzAsOCBAQCBlbnVtIFRpbWVsaW5lUmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJl
cXVlc3RUaW1lbGluZVJlY29yZFR5cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3Bl
Y3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmlu
ZSBTY3JpcHRDYWxsU3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRD
YWxsU3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmlu
ZGV4IDEwMTZhZWQuLmRkZDUwNzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3Jp
Z2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdp
blByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENh
Y2hlSXRlbSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxp
Z2h0UmVzdWx0Q2FjaGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbShib29sIGNyZWRl
bnRpYWxzKQogICAgICAgICAgICAgOiBtX2Fic29sdXRlRXhwaXJ5VGltZSgwKQpAQCAtNjMsNyAr
NjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEhlYWRlcnNTZXQgbV9oZWFkZXJz
OwogICAgIH07CiAKLSAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUu
LjNhM2NjNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxv
YWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBA
IC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50OwogCiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFi
bGVMb2FkZXIsIHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25z
Jik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4g
Y3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRX
cml0ZXIuaAppbmRleCA1ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFdyaXRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgK
QEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNs
YXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEb2N1bWVudFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJh
bWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li42MWJkODc3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaApAQCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAK
LWNsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVi
bGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAg
RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJhbWVMb2Fk
ZXJDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJveWVkKCkg
eyB9CiAKQEAgLTM4Myw4ICszODUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgpIHsgcmV0
dXJuIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAotY2xhc3Mg
RW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ry
b3llZCgpIHsgfQogCkBAIC00OTYsOCArNTAwLDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMg
Q29udGV4dE1lbnVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRl
eHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShFbXB0eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CisgICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1
YWwgfkVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRl
eHRNZW51RGVzdHJveWVkKCkgeyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2Vu
ZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
LWNsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5RHJhZ0NsaWVudCgpIHt9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rl
c3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rp
b24sIGNvbnN0IEludFBvaW50JiwgQ2xpcGJvYXJkKikgeyB9CkBAIC01MzIsOCArNTQwLDEwIEBA
IHB1YmxpYzoKIH07CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xhc3MgRW1w
dHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50
KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmggYi9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5o
CmluZGV4IGQ3MjQ4MzUuLjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1T
dWJtaXNzaW9uLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaApAQCAtNDcs
NyArNDcsOCBAQCBjbGFzcyBGb3JtU3VibWlzc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPEZvcm1T
dWJtaXNzaW9uPiB7CiBwdWJsaWM6CiAgICAgZW51bSBNZXRob2QgeyBHZXRNZXRob2QsIFBvc3RN
ZXRob2QgfTsKIAotICAgIGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEF0dHJpYnV0ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdHRy
aWJ1dGVzKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEF0dHJpYnV0ZXMoKQogICAgICAgICAgICAg
OiBtX21ldGhvZChHZXRNZXRob2QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3NmFkOTc3Li42YTc2
M2QwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTg2LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0Zl
YXR1cmVzOwogCiBib29sIGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAot
Y2xhc3MgRnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2Fk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAg
ICBGcmFtZUxvYWRlcihGcmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9h
ZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGlu
ZS5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBjMzQw
OGMyLi4xZGRmMmVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRl
TWFjaGluZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgK
QEAgLTI5LDEzICsyOSwxMyBAQAogI2lmbmRlZiBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAj
ZGVmaW5lIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRl
IG1hY2hpbmUgZm9yIEZyYW1lTG9hZGVyLiBOb3RlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJv
bSBGcmFtZVN0YXRlLAogLy8gd2hpY2ggc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBs
b2FkIHRoYXQgRnJhbWVMb2FkZXIgaXMgZXhlY3V0aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0
ZU1hY2hpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1h
Y2hpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5l
KTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oIGIvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaAppbmRleCAxYmY1MDcyLi40ZmI4NjNjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0hpc3Rv
cnlDb250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgIkZyYW1lTG9hZGVy
VHlwZXMuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xh
c3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogCi1jbGFzcyBIaXN0b3J5Q29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIaXN0b3J5Q29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSGlzdG9yeUNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIGVudW0gSGlz
dG9yeVVwZGF0ZVR5cGUgeyBVcGRhdGVBbGwsIFVwZGF0ZUFsbEV4Y2VwdEJhY2tGb3J3YXJkTGlz
dCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggOTRhMjFhNC4uYTgzNmY3NyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtNTcsNyArNTcsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1
ZUNoZWNrPFdlYkNvcmU6OkltYWdlTG9hZGVyKj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIEltYWdlRXZlbnRTZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1h
Z2VFdmVudFNlbmRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5k
ZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwCmluZGV4IDI4ZmRhOWEuLmE3MjFjODcgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05h
dmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
Y2hlZHVsZWROYXZpZ2F0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgU2NoZWR1bGVkTmF2aWdhdGlvbihkb3VibGUgZGVsYXksIGJvb2wgbG9ja0hpc3RvcnksIGJv
b2wgbG9ja0JhY2tGb3J3YXJkTGlzdCwgYm9vbCB3YXNEdXJpbmdMb2FkLCBib29sIGlzTG9jYXRp
b25DaGFuZ2UpCiAgICAgICAgIDogbV9kZWxheShkZWxheSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuaAppbmRleCAxNDAwYzI1Li5mMTRkMDUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlv
blNjaGVkdWxlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEZyYW1lOwogc3RydWN0IEZyYW1l
TG9hZFJlcXVlc3Q7CiBjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uOwogCi1jbGFzcyBOYXZpZ2F0
aW9uU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5hdmlnYXRpb25TY2hl
ZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5hdmlnYXRpb25TY2hlZHVsZXIpOwog
cHVibGljOgogICAgIE5hdmlnYXRpb25TY2hlZHVsZXIoRnJhbWUqKTsKICAgICB+TmF2aWdhdGlv
blNjaGVkdWxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IGViNDMxNjYuLjNmNTYzYTEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Q
aW5nTG9hZGVyLmgKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUw
LDcgKzQ5LDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIC8vIHRvIGFsbG93IHRoZSBsb2Fk
IHRvIGxpdmUgbG9uZyBlbm91Z2ggdG8gZW5zdXJlIHRoZSBtZXNzYWdlIHdhcyBhY3R1YWxseSBz
ZW50LgogLy8gVGhlcmVmb3JlLCBhcyBzb29uIGFzIGEgY2FsbGJhY2sgaXMgcmVjZWl2ZWQgZnJv
bSB0aGUgUmVzb3VyY2VIYW5kbGUsIHRoaXMgY2xhc3MgCiAvLyB3aWxsIGNhbmNlbCB0aGUgbG9h
ZCBhbmQgZGVsZXRlIGl0c2VsZi4KLWNsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNl
SGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGluZ0xvYWRlciA6IHBy
aXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBp
bmdMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCBsb2FkSW1hZ2UoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwpOwogICAgIHN0YXRpYyB2b2lk
IHNlbmRQaW5nKEZyYW1lKiwgY29uc3QgS1VSTCYgcGluZ1VSTCwgY29uc3QgS1VSTCYgZGVzdGlu
YXRpb25VUkwpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIv
V2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCmluZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Qb2xpY3lDaGVja2VyLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFj
dGlvbjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1j
bGFzcyBQb2xpY3lDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBvbGljeUNo
ZWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvbGljeUNoZWNrZXIpOwogcHVibGlj
OgogICAgIFBvbGljeUNoZWNrZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKaW5kZXggY2QxNTQzMy4uNjVkZDFjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3Bw
CkBAIC01MCw3ICs1MCw5IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVl
ID0gMC45OyAvLyAxLjAgLSBpbml0aWFsUHJvZ3Jlc3NWYWx1ZQogCiBzdGF0aWMgY29uc3QgaW50
IHByb2dyZXNzSXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKLXN0cnVj
dCBQcm9ncmVzc0l0ZW0gOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc0l0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKICAgICBQcm9ncmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAg
ICAgIDogYnl0ZXNSZWNlaXZlZCgwKQogICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi42MGViOGZlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVz
c1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM2LDcgKzM1LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
Owogc3RydWN0IFByb2dyZXNzSXRlbTsKIAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUHJvZ3Jlc3NUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgUHJvZ3Jlc3NUcmFja2VyKCk7CiAgICAgflByb2dyZXNzVHJhY2tlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVz
dC5oCmluZGV4IGI2ZGUzMTIuLjE1NzFkMWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jl
cXVlc3QuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKQEAgLTMxLDcgKzMxLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENhY2hlZFJlc291cmNlOwogICAgIGNsYXNz
IENhY2hlZFJlc291cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgUmVxdWVzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlcXVlc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAg
ICAgIFJlcXVlc3QoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wg
aW5jcmVtZW50YWwsIFNlY3VyaXR5Q2hlY2tQb2xpY3ksIGJvb2wgc2VuZFJlc291cmNlTG9hZENh
bGxiYWNrcyk7CiAgICAgICAgIH5SZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWROb3RpZmllci5oIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90
aWZpZXIuaAppbmRleCAyZjEwODU2Li4yNzA0MDZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZE5vdGlmaWVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpZm5kZWYgUmVzb3VyY2VMb2FkTm90aWZp
ZXJfaAogI2RlZmluZSBSZXNvdXJjZUxvYWROb3RpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0Miw4IEBAIGNs
YXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291
cmNlUmVxdWVzdDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFJlc291cmNlTG9hZE5vdGlmaWVyKTsKIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWRO
b3RpZmllcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCmlu
ZGV4IDg0Zjg4NDUuLjI5Yzc0ZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxl
ci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50Owog
Ci1jbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNv
dXJjZUxvYWRTY2hlZHVsZXIpOwogcHVibGljOgogICAgIGZyaWVuZCBSZXNvdXJjZUxvYWRTY2hl
ZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCkBAIC02Niw3ICs2Niw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiAgICAgdm9pZCBy
ZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Kik7CiAKLSAgICBj
bGFzcyBIb3N0SW5mb3JtYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhv
c3RJbmZvcm1hdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RJbmZvcm1h
dGlvbik7CiAgICAgcHVibGljOgogICAgICAgICBIb3N0SW5mb3JtYXRpb24oY29uc3QgU3RyaW5n
JiwgdW5zaWduZWQpOwogICAgICAgICB+SG9zdEluZm9ybWF0aW9uKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVM
b2FkZXIuaAppbmRleCBhNTczMDQ1Li5kMTFkOWI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9TdWJmcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgK
QEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTU0LDcgKzUzLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdldDsKIAogLy8g
VGhpcyBpcyBhIHNsaWdodCBtaXNub21lci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVyIGxldmVsIGxv
Z2ljIG9mIGxvYWRpbmcgYm90aCBzdWJmcmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFzcyBTdWJmcmFt
ZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxvYWRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3ViZnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIFN1
YmZyYW1lTG9hZGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBm
NDFhNzc0Li5iYzFhM2JhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9h
ZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC02NSw3ICs2NCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJh
dGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2FmZSwgCiAgICAgLy8ganVzdCBhYmxl
IHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4KLSAgICBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxv
YWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMm
KTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKQEAgLTc1LDYg
Kzc1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJl
ZlRocmVhZGFibGVMb2FkZXIoKTsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRh
YmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXIoKSB7IH0K
ICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKaW5kZXggYmNmNjhiZS4uY2VhOGIwZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZu
ZGVmIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CiAKLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVu
c2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3Rh
bEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2Vs
bGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAg
ICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJl
YWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAog
I2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxv
YWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgx
ZGEyZTAuLjY1Y2M2MzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFi
bGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgK
QEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1Ro
cmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBU
aHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdv
cmtlckNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdv
cmtlckNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5n
JiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRh
YmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUdyb3VwLmgKaW5kZXggMjlkMDc0OS4uOTFhYzI4YiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKQEAgLTM1LDcg
KzM1LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlNo
YXJlZEJ1ZmZlci5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC01Myw3ICs1Miw4
IEBAIGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAgQXBwbGljYXRpb25D
YWNoZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNzIEFwcGxpY2F0aW9u
Q2FjaGVHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
Y2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVHcm91cCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2FjaGVHcm91cChjb25zdCBL
VVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7ICAgIAogICAgIH5BcHBsaWNh
dGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlSG9zdC5oCmluZGV4IDhhYzUzNTcuLmExZjI4NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAjZW5k
aWYKIAotICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBz
cGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgg
Yi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4
IDdkYjM0ZTYuLjhiZmRmMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZVN0b3JhZ2UuaApAQCAtNDQsNyArNDQsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJuYWw7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAotY2xh
c3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
QXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAgICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9u
LmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApp
bmRleCA5ZDYzMGQxLi5mZDJkZGJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZl
L0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZl
L0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24oKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggOWE1NGM1My4uYWU2Zjc1
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC00OSw3ICs0OSw4IEBA
IGNsYXNzIFJlcXVlc3Q7CiAvLyBBIHJlc291cmNlIHRoYXQgaXMgaGVsZCBpbiB0aGUgY2FjaGUu
IENsYXNzZXMgd2hvIHdhbnQgdG8gdXNlIHRoaXMgb2JqZWN0IHNob3VsZCBkZXJpdmUKIC8vIGZy
b20gQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHRvIGdldCB0aGUgZnVuY3Rpb24gY2FsbHMgaW4gY2Fz
ZSB0aGUgcmVxdWVzdGVkIGRhdGEgaGFzIGFycml2ZWQuCiAvLyBUaGlzIGNsYXNzIGFsc28gZG9l
cyB0aGUgYWN0dWFsIGNvbW11bmljYXRpb24gd2l0aCB0aGUgbG9hZGVyIHRvIG9idGFpbiB0aGUg
cmVzb3VyY2UgZnJvbSB0aGUgbmV0d29yay4KLWNsYXNzIENhY2hlZFJlc291cmNlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZy
aWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yUmVzb3Vy
Y2U7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaApp
bmRleCAyNzVkMzMxLi4yMWVhMDI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlQ2xpZW50LmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpZm5kZWYgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogI2RlZmluZSBDYWNoZWRSZXNvdXJjZUNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQ1LDggKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAqIGlu
aGVyaXQgZnJvbSB0aGlzIGNsYXNzIGFuZCBvdmVybG9hZCBvbmUgb2YgdGhlIDMgZnVuY3Rpb25z
CiAgICAgICoKICAgICAgKi8KLSAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlCi0gICAgeworICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB2
aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBmMzcxYTBlLi42ZDRhN2EzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDgg
QEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJMOwogCiAvLyBUaGUgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBzY3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0
cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKIGZyaWVuZCBjbGFzcyBJbWFnZUxv
YWRlcjsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBi
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTVjZTlkYS4uZDA4NDll
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCkBAIC0zMSw3ICszMSw2IEBACiAjaW5j
bHVkZSAibG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTcxLDcgKzcw
LDggQEAgY2xhc3MgS1VSTDsKIC8vIGl0cyBtZW1iZXIgdmFyaWFibGVzKSBhcmUgYWxsb2NhdGVk
IGluIG5vbi1wdXJnZWFibGUgVEMtbWFsbG9jJ2QgbWVtb3J5IHNvIHdlIHdvdWxkIHNlZSBzbGln
aHRseQogLy8gbW9yZSBtZW1vcnkgdXNlIGR1ZSB0byB0aGlzLgogCi1jbGFzcyBNZW1vcnlDYWNo
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZW1vcnlDYWNoZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVtb3J5Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBmcmllbmQgTWVtb3J5Q2FjaGUqIGNhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5oCmluZGV4IDYxNDZhYTYuLmVjODdiZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTYyLDggKzYxLDggQEAgZW51bSBJY29uTG9hZERlY2lz
aW9uIHsKICAgICBJY29uTG9hZFVua25vd24KIH07CiAKLWNsYXNzIEljb25EYXRhYmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7Ci0KK2NsYXNzIEljb25EYXRhYmFzZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAvLyAq
KiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAgICB2b2lkIHNldENsaWVudChJY29u
RGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRh
dGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5o
CmluZGV4IGMyMTBkN2QuLjRhZTJlYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVu
dF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhvZHMgd2lsbCBiZSBjYWxsZWQgZnJv
bSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3ByaWF0ZSBtZWFzdXJlcwogIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKKyAgICBJY29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5JY29uRGF0
YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybUltcG9ydCgpIHsgcmV0
dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZW1vdmVBbGxJY29ucygp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmggYi9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAppbmRleCAxZWJhYzQ4Li43ZDgwODliIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25Mb2FkZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiU3Vi
cmVzb3VyY2VMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMzcsNyArMzYsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEtVUkw7
CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLWNsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJl
c291cmNlTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkxvYWRl
ciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEljb25Mb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxJY29uTG9hZGVyPiBjcmVhdGUoRnJhbWUqKTsKICAgICB+SWNv
bkxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAppbmRleCBmN2NjYjhmLi5h
NWU1NWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaApAQCAtMzEsNyArMzEsNiBA
QAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNTEsNyArNTAsOCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGljb25VUkw7CiB9OwogCi1jbGFz
cyBQYWdlVVJMUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhZ2VVUkxSZWNv
cmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VVUkxSZWNvcmQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNvbnN0IFN0cmluZyYg
cGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKaW5kZXggODE4ZjU2Zi4uMjMy
MDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDggKzM0LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKICAgICBj
bGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlLCBw
cml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBMb2FkZXIgOiBTdWJy
ZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvYWRl
cik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0KICAgICAgICAgfkxvYWRlcigp
OwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciosIENhY2hlZFJlc291
cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5Q2hlY2tQb2xpY3kgPSBEb1Nl
Y3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyA9IHRydWUpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjczMTMxZTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFzcyBOb3RpZmlj
YXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmws
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNz
UmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYg
Y29udGVudHMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUm
IGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IDgzM2I5MDkuLmEyNGQxMjYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29udGV4
dE1lbnVDb250cm9sbGVyX2gKICNkZWZpbmUgQ29udGV4dE1lbnVDb250cm9sbGVyX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQwLDcg
KzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50OwogICAgIGNsYXNz
IFBhZ2U7CiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKFBhZ2Uq
LCBDb250ZXh0TWVudUNsaWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9sbGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDBlOTBhNTIuLjM2MGU0NjMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBS
YW5nZTsKICAgICBjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyOwogICAgIAotICAgIGNsYXNzIERy
YWdDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEcmFnQ29udHJv
bGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERyYWdDb250cm9sbGVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBEcmFnQ29udHJvbGxl
cihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuaAppbmRleCBjYTE5YTBjLi40NzgwNjE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC04MCw3
ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwogCiBlbnVt
IEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRIaXRUZXN0
U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhh
bmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5FdmVudEhh
bmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVyZm9ybURy
YWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgOiBO
b25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5kbGVyRHJhZ1N0YXRl
KCkgeyB9CiAgICAgICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVsZW1lbnQgdGhhdCBt
YXkgYmUgYSBkcmFnIHNvdXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdlc3R1cmUKICAgICAg
ICAgYm9vbCBtX2RyYWdTcmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNJbWFnZTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmgKaW5kZXggZmZlZDU5Mi4uMTBhZDZiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTUx
LDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2Fk
ZXI7CiAKICAgICBjbGFzcyBFdmVudFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50U291
cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQs
IHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBj
cmVhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRp
b25Db2RlJik7CiAgICAgICAgIHZpcnR1YWwgfkV2ZW50U291cmNlKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9s
bGVyLmgKaW5kZXggYmU1MWM3Ny4uMjg1MGQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaApAQCAt
MjksNyArMjksNiBAQAogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiU3Bh
dGlhbE5hdmlnYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBLZXlib2FyZEV2ZW50OwogY2xhc3MgTm9k
ZTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEZvY3VzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGb2N1c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZvY3VzQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFt
ZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5iYWM1NDc1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29yZS9wYWdl
L0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
cmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJh
bWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNG
cmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNzcwMjI1Yi4uMWRjMzUyMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
QEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJlcGFpbnRE
ZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVtYmVyIG9m
IHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9yZSByZXR1
cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJhdGlvbnMg
PSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgU2No
ZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2ZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgU2NoZWR1bGVkRXZlbnQoKSB7
IH0KICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+IG1fZXZlbnRU
YXJnZXQ7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxl
ci5oIGIvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDJkODEwNmQu
LjE2YzdlYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIu
aAorKysgYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKQEAgLTMwLDcgKzMw
LDYgQEAKIAogI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgR2VvbG9jYXRp
b25FcnJvcjsKIGNsYXNzIEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdlOwogCi1jbGFz
cyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2Vv
bG9jYXRpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlv
bkNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQYWdlKiwg
R2VvbG9jYXRpb25DbGllbnQqKTsKICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVyKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL0dyb3Vw
U2V0dGluZ3MuaAppbmRleCBmYjZmNmI1Li4xYmJhZDJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvR3JvdXBTZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKQEAg
LTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlR3JvdXA7CiAK
LWNsYXNzIEdyb3VwU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JvdXBT
ZXR0aW5ncyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5ncyk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEdyb3Vw
U2V0dGluZ3M+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2Uu
aCBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggZTA3NDgxNC4uYjE2MzAyZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgi
CkBAIC04OSwxMiArODgsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgZW51bSBGaW5k
RGlyZWN0aW9uIHsgRmluZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJlY3Rpb25CYWNrd2FyZCB9
OwogCi0gICAgY2xhc3MgUGFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRTdHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7
CiAKICAgICAgICAgLy8gSXQgaXMgdXAgdG8gdGhlIHBsYXRmb3JtIHRvIGVuc3VyZSB0aGF0IG5v
bi1udWxsIGNsaWVudHMgYXJlIHByb3ZpZGVkIHdoZXJlIHJlcXVpcmVkLgotICAgICAgICBzdHJ1
Y3QgUGFnZUNsaWVudHMgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50
cyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2xpZW50cyk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYWdlQ2xp
ZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3
ZmJhLi42ZDdkNmNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIv
V2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFBhZ2VH
cm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNjcmlwdC5oIgog
I2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAK
LSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBh
Z2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwKGNvbnN0
IFN0cmluZyYgbmFtZSk7CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdy
b3VwTG9hZERlZmVycmVyLmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdl
R3JvdXBMb2FkRGVmZXJyZXIuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91
cExvYWREZWZlcnJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3Vw
TG9hZERlZmVycmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdyb3VwTG9h
ZERlZmVycmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cExvYWREZWZlcnJlcihQ
YWdlKiwgYm9vbCBkZWZlclNlbGYpOwogICAgICAgICB+UGFnZUdyb3VwTG9hZERlZmVycmVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmggYi9XZWJDb3JlL3BhZ2Uv
UGx1Z2luSGFsdGVyLmgKaW5kZXggYWY4YjMxZS4uNWI5NmQxOSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL1BsdWdpbkhhbHRlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaApA
QCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRhYmxlUGx1
Z2luOwogCi1jbGFzcyBQbHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UGx1Z2luSGFsdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0ZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQbHVnaW5IYWx0ZXIoUGx1Z2lu
SGFsdGVyQ2xpZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggYzY1M2FkZC4uMTBmNDAwMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgK
QEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUZXh0RGlyZWN0
aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAotICAgIGNsYXNzIFNldHRpbmdzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTZXR0aW5ncyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggNDUz
MmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysr
IGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRl
ICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRMaXN0
ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVpcmlu
ZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCByZWNv
Z25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50
cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0aGUg
c3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4KLWNs
YXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5wdXRM
aXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAgICAg
U3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJbnB1
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNvcmUvcGFn
ZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uMDUxNDA5MCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCkBAIC0z
NSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNjcmlwdCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgVXNlclNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJsLAog
ICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFz
c093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9Vc2VyU3R5bGVTaGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKaW5k
ZXggZmE0MmUyYy4uMDY4ZGYxZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNo
ZWV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcgKzM1LDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVXNlclN0eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBVc2VyU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYg
dXJsLAogICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0
ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaApp
bmRleCAyYjc4MWYxLi41YmVlZDYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRv
ci5oCisrKyBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICogSFRNTERvY3VtZW50UGFyc2VyOjpzaG91bGRMb2Fk
RXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4dGVybmFsIEphdmFTY3JpcHQg
c2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0IC0gdXNlZCB0
byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxlbWVudHMuCiAgICAgLy8KLSAgICBjbGFzcyBYU1NB
dWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYU1NBdWRpdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAgICAg
ICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAK
aW5kZXggNjYxNzJmNy4uNjg1NTFmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZTsK
IHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0eVdy
YXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFzcyBQ
cm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3BlcnR5
V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBlckJh
c2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9wZXJ0eVdyYXBw
ZXJCYXNlKGludCBwcm9wKQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDM4LDcgKzQzOSw4
IEBAIHB1YmxpYzoKIH07CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmlsbExheWVy
UHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJh
c2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJH
ZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1YmxpYzoK
ICAgICBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoqZ2V0dGVy
KSgpIGNvbnN0KQogICAgICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA4OTNjNzE3
Li5jODRkZDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBS
ZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJTdHlsZTsKIAotY2xhc3MgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5p
bWF0aW9uLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oCmlu
ZGV4IDI0OWY0YzMuLjBkMGJiMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
Q29tcG9zaXRlQW5pbWF0aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3Np
dGVBbmltYXRpb24uaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkltcGxpY2l0QW5pbWF0
aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVBbmltYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRI
YW5kbGVyTWFjLm1tCmluZGV4IDJkYjcxM2YuLmI5OGJjYjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRI
YW5kbGVyTWFjLm1tCkBAIC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2ZW50SGFuZGxlcjo6Y3Vy
cmVudE5TRXZlbnQoKQogICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNsb3QoKS5nZXQoKTsKIH0K
IAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
Q3VycmVudEV2ZW50U2NvcGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXJyZW50RXZl
bnRTY29wZSk7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUoTlNFdmVudCAqKTsKICAg
ICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5
bmNGaWxlU3lzdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCmluZGV4
IGQ5NmMxYWQuLmMzNGE2NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxl
U3lzdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApAQCAtNDQs
NyArNDQsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBBc3luY0Zp
bGVXcml0ZXJDbGllbnQ7CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50ZXJmYWNl
IGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4gIE5vdGUg
dGhhdCBhbGwgdGhlIG1ldGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFzeW5jRmls
ZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW0gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+QXN5bmNGaWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5j
RmlsZVN5c3RlbUNhbGxiYWNrcy5oCmluZGV4IDI5MGE2NjkuLmNlZThkOTAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAtNDEsOCArNDEsMTEgQEAg
Y2xhc3MgQXN5bmNGaWxlU3lzdGVtOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyOwogc3RydWN0IEZp
bGVNZXRhZGF0YTsKIAotY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAgICBB
c3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MoKSB7IH0gICAgCisKICAgICAvLyBDYWxsZWQgd2hlbiBh
IHJlcXVlc3RlZCBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAgICB2aXJ0
dWFsIHZvaWQgZGlkU3VjY2VlZCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9BdXRvZHJhaW5lZFBvb2wuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgK
aW5kZXggZDQ0ZWUxZS4uZDY1NTQzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRv
ZHJhaW5lZFBvb2wuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCkBA
IC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIEF1dG9kcmFpbmVkUG9vbF9oCiAjZGVmaW5lIEF1dG9k
cmFpbmVkUG9vbF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmZGVmIF9f
T0JKQ19fCiBAY2xhc3MgTlNBdXRvcmVsZWFzZVBvb2w7CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNz
IE5TQXV0b3JlbGVhc2VQb29sOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEF1dG9k
cmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdXRvZHJhaW5lZFBvb2wg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dG9kcmFpbmVkUG9vbCk7CiBwdWJsaWM6CiAg
ICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAgIH5BdXRvZHJh
aW5lZFBvb2woKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAppbmRleCA1MzIxZWQ2Li41OWEwMmJhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbnRleHRN
ZW51X2gKICNkZWZpbmUgQ29udGV4dE1lbnVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKICNpbmNsdWRlICJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVz
dWx0LmgiCkBAIC00NSw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBD
b250ZXh0TWVudUNsaWVudEVmbDsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnUgOiBw
dWJsaWMgTm9uY29weWFibGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uZDllMjU2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBD
b250ZXh0TWVudUl0ZW0oUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uKTsKICAgICAgICAgQ29u
dGV4dE1lbnVJdGVtKENvbnRleHRNZW51KiBzdWJNZW51ID0gMCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJl
Y2F0ZWRQdHJMaXN0LmgKaW5kZXggNDdjZDUzOC4uMGE0YTUxNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRGVw
cmVjYXRlZFB0ckxpc3QuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIERlcHJlY2F0ZWRQ
dHJMaXN0X2gKIAogI2luY2x1ZGUgIkRlcHJlY2F0ZWRQdHJMaXN0SW1wbC5oIgotI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdGVtcGxhdGUg
PGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I7CiAKLXRlbXBsYXRlIDxj
bGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K3RlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZFB0ckxpc3QoKSA6IGlt
cGwoZGVsZXRlRnVuYyksIGRlbF9pdGVtKGZhbHNlKSB7IH0KICAgICB+RGVwcmVjYXRlZFB0ckxp
c3QoKSB7IGltcGwuY2xlYXIoZGVsX2l0ZW0pOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0
ZWRQdHJMaXN0SW1wbC5jcHAKaW5kZXggOTZmZDUxMy4uZWYyOTk1OSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcApAQCAtMjksMTIgKzI5LDExIEBACiAjaW5j
bHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUKLXsK
K2NsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVw
cmVjYXRlZExpc3ROb2RlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
RGVwcmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7
IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50
TG9vcC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUg
RXZlbnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
TG9vcCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBt
X2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNl
cnZpY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4
NWY2NS4uZDYwYWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNl
cnZpY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0y
Niw3ICsyNiw3IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xv
Y2F0aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRl
IDx3dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1
cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNl
cnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgog
ICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VD
bGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0
V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uMjI1ODg0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAg
LTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRv
d19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5k
b3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgorICAgIEhvc3RXaW5kb3coKSB7IH0KICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93KCkgeyB9
CiAKICAgICAvLyBSZXF1ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSB3aW5kb3csIG5vdCB0
aGUgY29udGVudHMuICBJZiBpbW1lZGlhdGUgaXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91c2x5LCBv
dGhlcndpc2UgYXN5bmMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjY4NzI3NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vS2lsbFJpbmcuaApAQCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBLaWxsUmluZyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0IFN0
cmluZyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggN2RkODc1ZS4uOTM0NTQyMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIExlbmd0aF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0zNSw3ICszNCw5IEBA
IGNvbnN0IGludCBpbnRNaW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFs
dWUgZm9yIGEgMjgtYml0IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwg
UGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3Ry
dWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3Zh
bHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li5mMGIyZTkyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
QEAgLTgxLDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2
ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJk
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIC8vSGVscGVyIGZ1bmN0aW9ucyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKaW5kZXggYmMyOGU4NC4uYWVl
OTViNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCkBAIC03NSw3
ICs3NSw4IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFR5cGUg
ewogICAgICAgICAgICAgLy8gS2V5RG93biBpcyBzZW50IGJ5IHBsYXRmb3JtcyBzdWNoIGFzIE1h
YyBPUyBYLCBndGsgYW5kIFF0LCBhbmQgaGFzIGluZm9ybWF0aW9uIGFib3V0IGJvdGggcGh5c2lj
YWwgcHJlc3NlZCBrZXksIGFuZCBpdHMgdHJhbnNsYXRpb24uCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVC
dWZmZXIuaAppbmRleCA5YmRhMmQ1Li40NDEzNmMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL1B1cmdlYWJsZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVm
ZmVyLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBQdXJnZWFibGVCdWZmZXJfaAogCiAj
aW5jbHVkZSAiUHVyZ2VQcmlvcml0eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQdXJnZWFibGVCdWZmZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBhc3NPd25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBjcmVhdGUoY29uc3QgY2hhciog
ZGF0YSwgc2l6ZV90KTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1J1
bkxvb3BUaW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRleCA2NWYy
NTNlLi5mOGM1MjlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTMwLDE1ICszMCwxNiBA
QAogI2RlZmluZSBSdW5Mb29wVGltZXJfaAogCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2YWxzIGFyZSBhbGwgaW4gc2Vj
b25kcy4KIAotY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBSdW5Mb29wVGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29w
VGltZXJCYXNlKTsKIHB1YmxpYzoKKyAgICBSdW5Mb29wVGltZXJCYXNlKCkgeyB9CiAgICAgdmly
dHVhbCB+UnVuTG9vcFRpbWVyQmFzZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hl
ZHVsZVBhaXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCAwZWZhZjdhLi5mMTA2
OTExIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBjbGFz
cyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CiBjbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3JvbGxWaWV3
OwogCi1jbGFzcyBTY3JvbGxiYXJUaGVtZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
Y3JvbGxiYXJUaGVtZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGhlbWUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgp
IHsgfQogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJv
b2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypk
YW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL1NoYXJlZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXgg
NWI1Y2QxNC4uNzExZTZiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1l
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2
IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8v
IEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIs
IHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBp
cyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRl
ZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAg
Y2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJl
ZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFNoYXJlZFRpbWVyKCkg
eyB9CiAgICAgICAgIHZpcnR1YWwgflNoYXJlZFRpbWVyKCkge30KICAgICAgICAgdmlydHVhbCB2
b2lkIHNldEZpcmVkRnVuY3Rpb24odm9pZCAoKikoKSkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
R2xvYmFsRGF0YS5oCmluZGV4IDlmNTdmMDAuLmU4NDJiN2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
R2xvYmFsRGF0YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYgRU5BQkxFKFdPUktFUlMp
CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29u
dmVydGVyV3JhcHBlcjsKICAgICBjbGFzcyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJl
YWRHbG9iYWxEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRHbG9i
YWxEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFsRGF0YSk7
CiAgICAgcHVibGljOgogICAgICAgICBUaHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAgIH5UaHJl
YWRHbG9iYWxEYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVy
cy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBhYjQyNTk4Li5mOTk5
NDBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNpZm5kZWYg
VGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBUaW1lckJhc2U7CiAKICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0aHJlYWQu
IEtlcHQgaW4gVGhyZWFkR2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBjNDQ0
M2RhLi44NWYwZGFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFRpbWVy
X2gKICNkZWZpbmUgVGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3ICsz
NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAot
Y2xhc3MgVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVyQmFzZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNl
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJl
ZVNoYXJlZC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcg
KzMxLDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAg
ICAgOiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlv
bi9BbmltYXRpb25MaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmgKaW5kZXggOWEzMzRjYS4uYmY4ZmY5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0
aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFz
cyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBBbmltYXRpb25MaXN0KCkgeyB9CiAgICAgQW5pbWF0aW9uTGlzdChjb25zdCBBbmltYXRp
b25MaXN0Jik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4uMzk4ZTEy
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmlu
ZSBBdWRpb0J1c19oCiAKICNpbmNsdWRlICJBdWRpb0NoYW5uZWwuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIApAQCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBB
biBBdWRpb0J1cyByZXByZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBBdWRpb0No
YW5uZWxzLgogLy8gVGhlIGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQgdG8gImlu
dGVybGVhdmVkIi4KIC8vIEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9ubywgYW4g
QXVkaW9CdXMgd2l0aCB0d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBBdWRpb0J1
cyAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShBdWRpb0J1cyApOwogcHVibGljOgogICAgIGVudW0gewogICAgICAgICBD
aGFubmVsTGVmdCA9IDAsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
Q2hhbm5lbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRleCA2
ODE2ODMwLi43MzI1ZTlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAg
LTMwLDE0ICszMCwxNCBAQAogI2RlZmluZSBBdWRpb0NoYW5uZWxfaAogCiAjaW5jbHVkZSAiQXVk
aW9BcnJheS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW4gQXVkaW9DaGFubmVs
IHJlcHJlc2VudHMgYSBidWZmZXIgb2Ygbm9uLWludGVybGVhdmVkIGZsb2F0aW5nLXBvaW50IGF1
ZGlvIHNhbXBsZXMuCiAvLyBUaGUgUENNIHNhbXBsZXMgYXJlIG5vcm1hbGx5IGFzc3VtZWQgdG8g
YmUgaW4gYSBub21pbmFsIHJhbmdlIC0xLjAgLT4gKzEuMAotY2xhc3MgQXVkaW9DaGFubmVsIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQ2hhbm5lbCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQXVkaW9DaGFubmVsKTsKIHB1YmxpYzoKICAgICAvLyBNZW1vcnkgY2FuIGJl
IGV4dGVybmFsbHkgcmVmZXJlbmNlZCwgb3IgY2FuIGJlIGludGVybmFsbHkgYWxsb2NhdGVkIHdp
dGggYW4gQXVkaW9GbG9hdEFycmF5LgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2Uu
aAppbmRleCBjMzNiMzhmLi4zNTE0NjkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIkhSVEZFbGV2YXRpb24uaCIKICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBIUlRGS2VybmVsOwogCi1jbGFzcyBIUlRGRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFJURkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
UlRGRGF0YWJhc2UpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhSVEZEYXRhYmFz
ZT4gY3JlYXRlKGRvdWJsZSBzYW1wbGVSYXRlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZF
bGV2YXRpb24uaAppbmRleCBiMzg4YjM0Li5mNDQ0NDQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0hSVEZFbGV2YXRpb24uaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBIUlRGRWxldmF0aW9u
X2gKIAogI2luY2x1ZGUgIkhSVEZLZXJuZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIEhSVEZFbGV2YXRpb24gY29udGFpbnMgYWxsIG9mIHRoZSBIUlRGS2Vy
bmVscyAob25lIGxlZnQgZWFyIGFuZCBvbmUgcmlnaHQgZWFyIHBlciBhemltdXRoIGFuZ2xlKSBm
b3IgYSBwYXJ0aWN1bGFyIGVsZXZhdGlvbi4KIAotY2xhc3MgSFJURkVsZXZhdGlvbiA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIUlRGRWxldmF0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIUlRGRWxldmF0aW9uKTsKIHB1YmxpYzoKICAgICAvLyBMb2FkcyBhbmQgcmV0dXJu
cyBhbiBIUlRGRWxldmF0aW9uIHdpdGggdGhlIGdpdmVuIEhSVEYgZGF0YWJhc2Ugc3ViamVjdCBu
YW1lIGFuZCBlbGV2YXRpb24gZnJvbSBicm93c2VyIChvciBXZWJLaXQuZnJhbWV3b3JrKSByZXNv
dXJjZXMuCiAgICAgLy8gTm9ybWFsbHksIHRoZXJlIHdpbGwgb25seSBiZSBhIHNpbmdsZSBIUlRG
IGRhdGFiYXNlIHNldCwgYnV0IHRoaXMgQVBJIHN1cHBvcnRzIHRoZSBwb3NzaWJpbGl0eSBvZiBt
dWx0aXBsZSBvbmVzIHdpdGggZGlmZmVyZW50IG5hbWVzLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCmluZGV4IDFkNjk5MjEuLmQ1YWRhMTQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKQEAgLTQyLDYg
KzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEludFBvaW50OwogCiAgICAg
Y2xhc3MgQ2xpcGJvYXJkQ2hyb21pdW0gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIH5DbGlwYm9hcmRDaHJvbWl1bSgpIHt9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA1YTU0OTYzLi5lOTY3OGMxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC02OCw3ICs2OCw5IEBAIHRlbXBsYXRl
IDx0eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKIC8vIEZyYW1lRGF0YSBDbGFzcwogLy8gPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLXN0cnVjdCBGcmFt
ZURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRnJhbWVEYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZURhdGEpOworcHVibGljOgogICAgIEZyYW1lRGF0YSgpCiAgICAgICAg
IDogbV9mcmFtZSgwKQogICAgICAgICAsIG1faGF2ZU1ldGFkYXRhKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db2xvci5oCmluZGV4IDJlNGU5NjIuLmYwYzMwYWYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0NvbG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29sb3JfaAogI2RlZmluZSBD
b2xvcl9oCiAKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC03NSw3ICs3
NCw4IEBAIGlubGluZSBpbnQgZ3JlZW5DaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNv
bG9yID4+IDgpICYgMHhGRjsgfQogaW5saW5lIGludCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3Ip
IHsgcmV0dXJuIGNvbG9yICYgMHhGRjsgfQogaW5saW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMy
IGNvbG9yKSB7IHJldHVybiAoY29sb3IgPj4gMjQpICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChm
YWxzZSkgeyB9CiAgICAgQ29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQo
dHJ1ZSkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRT
aGFkb3cuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcApp
bmRleCA4N2ExYzVjLi4wNzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0NvbnRleHRTaGFkb3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29u
dGV4dFNoYWRvdy5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93
LmgiCiAKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiB1c2luZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmNmY2E5ODAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENh
Y2hlOjpGb250Q2FjaGUoKQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5
IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRh
Q2FjaGVLZXkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHkgPSBBdG9taWNTdHJpbmcoKSwgdW5z
aWduZWQgc2l6ZSA9IDAsIHVuc2lnbmVkIHdlaWdodCA9IDAsIGJvb2wgaXRhbGljID0gZmFsc2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNQcmludGVyRm9udCA9IGZhbHNl
LCBGb250UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSwg
Rm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uID0gSG9yaXpvbnRhbCkKICAgICAgICAgOiBtX3Np
emUoc2l6ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGU2ODQ1ZDku
Ljg2ZjhjNjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNTAsNyAr
NTAsOCBAQCBjbGFzcyBGb250RGVzY3JpcHRpb247CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFz
cyBTaW1wbGVGb250RGF0YTsKIAotY2xhc3MgRm9udENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEZvbnRDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIEZvbnRDYWNo
ZSogZm9udENhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAppbmRleCBl
ZTk0YTk4Li40MzI3OTU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnREYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBAIC0y
NywxNCArMjcsMTQgQEAKICNkZWZpbmUgRm9udERhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2ltcGxlRm9udERh
dGE7CiAKLWNsYXNzIEZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250RGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBo
UGFnZVRyZWVMZXZlbCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
bHlwaE1ldHJpY3NNYXAuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNz
TWFwLmgKaW5kZXggZmE4NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dseXBoTWV0cmljc01hcC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQg
c2hvcnQgR2x5cGg7CiAKIGNvbnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRl
bXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7Cit0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEdseXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRy
aWNzTWFwKCkgOiBtX2ZpbGxlZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRy
aWNzTWFwKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmlu
ZGV4IDZhZGM5MGIuLmIzODIzNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNp
bmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFU
Rk9STShDRykKQEAgLTE1Myw3ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IEludGVycG9sYXRpb25IaWdoCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1H
cmFwaGljc0NvbnRleHQqKTsKICAgICAgICAgfkdyYXBoaWNzQ29udGV4dCgpOwpAQCAtMzU2LDcg
KzM1Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRTaG91bGRJbmNs
dWRlQ2hpbGRXaW5kb3dzKGJvb2wpOwogICAgICAgICBib29sIHNob3VsZEluY2x1ZGVDaGlsZFdp
bmRvd3MoKSBjb25zdDsKIAotICAgICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXaW5kb3dzQml0bWFwKTsKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgV2luZG93c0JpdG1hcChIREMsIEludFNpemUpOwogICAgICAgICAgICAgfldpbmRv
d3NCaXRtYXAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaAppbmRleCBjMmQ1YzI0Li43YzA3YmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBGSVhNRTogRmluZCBhIGJldHRlciB3YXkgdG8gYXZvaWQg
dGhlIG5hbWUgY29uZmxpY3Rpb24gZm9yIE5PX0VSUk9SLgogI2lmICgoUExBVEZPUk0oQ0hST01J
VU0pICYmIE9TKFdJTkRPV1MpKSB8fCBQTEFURk9STShXSU4pIHx8IChQTEFURk9STShRVCkgJiYg
T1MoV0lORE9XUykpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHRQcml2YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dFByaXZhdGUuaAppbmRleCA5ODVjYWQ5Li4wNTFlNGViIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaApAQCAtODQsNyAr
ODQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKICAgICB9OwogCi0gICAgY2xhc3Mg
R3JhcGhpY3NDb250ZXh0UHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
R3JhcGhpY3NDb250ZXh0UHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdy
YXBoaWNzQ29udGV4dFByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFByaXZhdGUoKQogICAgICAgICAgICAgOiBtX3Vw
ZGF0aW5nQ29udHJvbFRpbnRzKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaAppbmRleCA5OTFjYTMyLi41MzJkMGNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtMTA0LDcgKzEwNCw4IEBAIGNsYXNzIFRpbWluZ0Z1
bmN0aW9uOwogLy8gQmFzZSBjbGFzcyBmb3IgYW5pbWF0aW9uIHZhbHVlcyAoYWxzbyB1c2VkIGZv
ciB0cmFuc2l0aW9ucykuIEhlcmUgdG8KIC8vIHJlcHJlc2VudCB2YWx1ZXMgZm9yIHByb3BlcnRp
ZXMgYmVpbmcgYW5pbWF0ZWQgdmlhIHRoZSBHcmFwaGljc0xheWVyLAogLy8gd2l0aG91dCBwdWxs
aW5nIGluIHN0eWxlLXJlbGF0ZWQgZGF0YSBmcm9tIG91dHNpZGUgb2YgdGhlIHBsYXRmb3JtIGRp
cmVjdG9yeS4KLWNsYXNzIEFuaW1hdGlvblZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEFuaW1hdGlvblZhbHVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25W
YWx1ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFuaW1hdGlvblZh
bHVlKGZsb2F0IGtleVRpbWUsIFBhc3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0
aW9uID0gMCkKICAgICAgICAgOiBtX2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBA
QCBwcml2YXRlOgogCiAvLyBVc2VkIHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtl
eWZyYW1lIGxpc3QuIFZhbHVlcyB3aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hp
Y2ggY2FuIGJlIGluZmVycmVkIGZyb20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1
ZUxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Qgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAog
ICAgIEtleWZyYW1lVmFsdWVMaXN0KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi41ZDQ4YThjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAg
IGNsYXNzIEltYWdlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFn
ZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBXaWxsIHJldHVy
biBhIG51bGwgcG9pbnRlciBvbiBhbGxvY2F0aW9uIGZhaWx1cmUuCiAgICAgICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEltYWdlQnVmZmVyPiBjcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29sb3JT
cGFjZSBjb2xvclNwYWNlID0gQ29sb3JTcGFjZURldmljZVJHQikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VTb3VyY2UuaAppbmRleCBhZWIxNTYxLi45MWNlZTU5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIElt
YWdlU291cmNlX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgUExBVEZPUk0oV1gp
CkBAIC0xMTcsNyArMTE2LDggQEAgY29uc3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IDA7CiBj
b25zdCBpbnQgY0FuaW1hdGlvbkxvb3BJbmZpbml0ZSA9IC0xOwogY29uc3QgaW50IGNBbmltYXRp
b25Ob25lID0gLTI7CiAKLWNsYXNzIEltYWdlU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEltYWdlU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVNvdXJj
ZSk7CiBwdWJsaWM6CiAgICAgSW1hZ2VTb3VyY2UoYm9vbCBwcmVtdWx0aXBseUFscGhhID0gdHJ1
ZSwgYm9vbCBpZ25vcmVHYW1tYUFuZENvbG9yUHJvZmlsZSA9IGZhbHNlKTsKICAgICB+SW1hZ2VT
b3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXgg
ZTg3YzUzYy4uMzcwMDg4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKQEAgLTE0Nyw3ICsxNDcsOSBAQCBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJm
YWNlKiBjcmVhdGVOdWxsTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKIAogLy8gZW5n
aW5lIHN1cHBvcnQKIAotc3RydWN0IE1lZGlhUGxheWVyRmFjdG9yeSA6IE5vbmNvcHlhYmxlIHsK
K3N0cnVjdCBNZWRpYVBsYXllckZhY3RvcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUGxheWVyRmFjdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAg
IE1lZGlhUGxheWVyRmFjdG9yeShDcmVhdGVNZWRpYUVuZ2luZVBsYXllciBjb25zdHJ1Y3Rvciwg
TWVkaWFFbmdpbmVTdXBwb3J0ZWRUeXBlcyBnZXRTdXBwb3J0ZWRUeXBlcywgTWVkaWFFbmdpbmVT
dXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlQW5kQ29kZWNzKSAKICAgICAgICAgOiBjb25zdHJ1Y3Rv
cihjb25zdHJ1Y3RvcikKICAgICAgICAgLCBnZXRTdXBwb3J0ZWRUeXBlcyhnZXRTdXBwb3J0ZWRU
eXBlcykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBjOWMwNDJi
Li5mZWU4YjdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0z
Nyw3ICszNyw2IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0hhc2guaD4KIApAQCAtMTQ2LDcgKzE0NSw4IEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAot
Y2xhc3MgTWVkaWFQbGF5ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxheWVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXll
cj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBkOTU2Mjg2Li42YWJlMjU4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAg
LTM2LDggKzM2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFz
cyBJbnRTaXplOwogCi1jbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZh
Y2UoKSB7IH0KICAgICB2aXJ0dWFsIH5NZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UoKSB7IH0K
IAogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGF0aC5oCmluZGV4IGJhMjVkYzIuLjdhZDE2YTMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvUGF0aC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaWZuZGVmIFBhdGhfaAogI2RlZmluZSBQYXRo
X2gKIAotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KIAogI2lmIFBMQVRGT1JNKENHKQpAQCAtMTAwLDcgKzk5LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgdHlwZWRlZiB2b2lkICgqUGF0aEFwcGxpZXJGdW5jdGlvbikodm9pZCog
aW5mbywgY29uc3QgUGF0aEVsZW1lbnQqKTsKIAotICAgIGNsYXNzIFBhdGggOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGF0aCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGF0aCgpOwogICAgICAgICB+UGF0aCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDU4
NDc3ZGIuLjA2YzdmZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFj
a2luZ1N0b3JlLmgKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
R3JhcGhpY3NDb250ZXh0OwogY2xhc3MgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAKLWNsYXNz
IFRpbGVkQmFja2luZ1N0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGVkQmFj
a2luZ1N0b3JlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxlZEJhY2tpbmdTdG9yZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3Jl
KFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IGRhYzMxZjguLjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBA
IC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAi
Rm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBlZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0Zh
Y2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9fZm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpA
QCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1E
YXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAg
ICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5G
b250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5kZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzks
NyArMzksNiBAQAogI2luY2x1ZGUgIlRleHR1cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVj
dDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0
M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdM
RVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJs
aWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVm
ZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAgIH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0u
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmgKaW5kZXggYzBlNjEwYS4uNjgzY2FkMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00
Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tCaXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVy
Q2hyb21pdW0uaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmgKaW5kZXggMzEyYWRmYS4u
ODY3NDBjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclRleHR1cmUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyVGV4dHVyZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2lu
Y2x1ZGUgIlRleHR1cmVNYW5hZ2VyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApA
QCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0NvbnRl
eHQzRDsKIGNsYXNzIFRleHR1cmVNYW5hZ2VyOwogCi1jbGFzcyBMYXllclRleHR1cmUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5ZXJUZXh0dXJlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMYXllclRleHR1cmUpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExh
eWVyVGV4dHVyZT4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBUZXh0dXJlTWFu
YWdlciogbWFuYWdlcikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAppbmRleCBhOTMyMThmLi5k
ZGM5Y2RhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRl
ICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hbmFnZXIuaCIKICNpbmNsdWRlICJUcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgTGF5ZXJDaHJvbWl1bTsK
IGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIGNsYXNzIExheWVyVGV4dHVyZTsKIAotY2xh
c3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJl
bmRlclN1cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU3Vy
ZmFjZUNocm9taXVtKTsKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwog
cHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZhY2VDaHJvbWl1bShMYXllckNocm9taXVt
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1
cmVNYW5hZ2VyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVN
YW5hZ2VyLmgKaW5kZXggMWU4NTBjZC4uMWM2ZGIzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaApAQCAtMzYsNyArMzYsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHR5cGVkZWYgaW50IFRleHR1cmVUb2tlbjsKIAotY2xh
c3MgVGV4dHVyZU1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGV4dHVyZU1h
bmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHR1cmVNYW5hZ2VyKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxUZXh0dXJlTWFuYWdlcj4gY3JlYXRlKEdyYXBoaWNz
Q29udGV4dDNEKiBjb250ZXh0LCBzaXplX3QgbWVtb3J5TGltaXRCeXRlcywgaW50IG1heFRleHR1
cmVTaXplKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApA
QCAtMzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVk
ZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0
Zi9Pd25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRy
YW5zcGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21w
b3NpdGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5h
YmlsaXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0
ZXh0LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVu
Y3lXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVu
dW0gTGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJh
d2luZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLmUzNTY1OTIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1
LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsOCAr
NzYsMTAgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkKLSAgICBj
bGFzcyBXaWxsUHVibGlzaENhbGxiYWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBXaWxsUHVibGlzaENhbGxiYWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ls
bFB1Ymxpc2hDYWxsYmFjayk7CiAgICAgcHVibGljOgorICAgICAgICBXaWxsUHVibGlzaENhbGxi
YWNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNoQ2FsbGJhY2soKSB7IH0KICAg
ICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsUHVibGlzaCgpID0gMDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaAppbmRl
eCBjNjY1ODQ0Li4xYmQ2N2I4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNpZm5kZWYg
TG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAjZGVmaW5lIExvb3BCbGlubkNsYXNzaWZpZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRmxvYXRQb2ludDsKIAogLy8gQ2xhc3NpZmllcyBjdWJpYyBjdXJ2ZXMgaW50byBzcGVjaWZp
YyB0eXBlcy4KLWNsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TG9vcEJsaW5uQ2xhc3NpZmllcik7CiBwdWJsaWM6CiAgICAgLy8gVGhlIHR5cGVzIG9mIGN1Ymlj
IGN1cnZlcy4KICAgICBlbnVtIEN1cnZlVHlwZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAppbmRleCBl
YTNkN2UzLi5kMDFlNmM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKQEAgLTMwLDE5ICszMCwyMCBA
QAogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0YW50
cy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gUGVyZm9ybXMgYSBsb2NhbGl6ZWQg
dHJpYW5ndWxhdGlvbiBvZiB0aGUgdHJpYW5nbGUgbWVzaAogLy8gY29ycmVzcG9uZGluZyB0byB0
aGUgZm91ciBjb250cm9sIHBvaW50IHZlcnRpY2VzIG9mIGEgY3ViaWMgY3VydmUKIC8vIHNlZ21l
bnQuCi1jbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IpOwogcHVibGljOgogICAgIC8vIFRo
ZSB2ZXJ0aWNlcyB0aGF0IHRoZSB0cmlhbmd1bGF0b3Igb3BlcmF0ZXMgdXBvbiwgY29udGFpbmlu
ZyBib3RoCiAgICAgLy8gdGhlIHBvc2l0aW9uIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgdGhlIGN1
YmljIHRleHR1cmUKICAgICAvLyBjb29yZGluYXRlcy4KLSAgICBjbGFzcyBWZXJ0ZXggOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFZlcnRleCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFZlcnRleCk7CiAgICAgcHVibGljOgogICAgICAgICBWZXJ0ZXgoKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5U
ZXh0dXJlQ29vcmRzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5U
ZXh0dXJlQ29vcmRzLmgKaW5kZXggNWZkZWIzYi4uYjI5YThmNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaApAQCAt
MzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkxvb3BCbGlubkNsYXNzaWZpZXIuaCIKICNpbmNsdWRl
ICJMb29wQmxpbm5Db25zdGFudHMuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPREFyZW5hLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RB
cmVuYS5oCmluZGV4IGY2OGJhZWYuLjVmZWVmMDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvUE9EQXJlbmEuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHN0ZGludC5oPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpA
QCAtMTU4LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgLy8gTWFuYWdlcyBhIGNo
dW5rIG9mIG1lbW9yeSBhbmQgaW5kaXZpZHVhbCBhbGxvY2F0aW9ucyBvdXQgb2YgaXQuCi0gICAg
Y2xhc3MgQ2h1bmsgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENodW5rIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2h1bmspOwogICAgIHB1YmxpYzoKICAgICAgICAg
Ly8gQWxsb2NhdGVzIGEgYmxvY2sgb2YgbWVtb3J5IG9mIHRoZSBnaXZlbiBzaXplIGZyb20gdGhl
IHBhc3NlZAogICAgICAgICAvLyBBbGxvY2F0b3IuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCmluZGV4IDMyMGNlNjAuLmZhMWUyN2MgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiUE9ESW50ZXJ2YWwuaCIKICNpbmNsdWRlICJQT0RSZWRC
bGFja1RyZWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNDQsOCArNDMsOCBAQCBzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKIC8vIHN1cHBvcnRz
IGVmZmljaWVudCAoTyhsZyBuKSkgaW5zZXJ0aW9uLCByZW1vdmFsIGFuZCBxdWVyeWluZyBvZgog
Ly8gaW50ZXJ2YWxzIGluIHRoZSB0cmVlLgogdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgVXNlckRh
dGEgPSB2b2lkKj4KLWNsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2
YWw8VCwgVXNlckRhdGE+ID4geworY2xhc3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIFBPRFJl
ZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUE9ESW50ZXJ2YWxUcmVlKTsKIHB1YmxpYzoKICAgICAvLyBUeXBlZGVmIHRvIHJl
ZHVjZSB0eXBpbmcgd2hlbiBkZWNsYXJpbmcgaW50ZXJ2YWxzIHRvIGJlIHN0b3JlZCBpbgogICAg
IC8vIHRoaXMgdHJlZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPRFJlZEJsYWNrVHJlZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVk
QmxhY2tUcmVlLmgKaW5kZXggNmQ1OTU0Yy4uYjBkOTE4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKQEAgLTc0LDcgKzc0LDYgQEAKIAog
I2luY2x1ZGUgIlBPREFyZW5hLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaWZuZGVm
IE5ERUJVRwogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTE5OCw3ICsxOTcsOCBAQCBwcm90ZWN0
ZWQ6CiAgICAgLy8gVGhlIGJhc2UgTm9kZSBjbGFzcyB3aGljaCBpcyBzdG9yZWQgaW4gdGhlIHRy
ZWUuIE5vZGVzIGFyZSBvbmx5CiAgICAgLy8gYW4gaW50ZXJuYWwgY29uY2VwdDsgdXNlcnMgb2Yg
dGhlIHRyZWUgZGVhbCBvbmx5IHdpdGggdGhlIGRhdGEKICAgICAvLyB0aGV5IHN0b3JlIGluIGl0
LgotICAgIGNsYXNzIE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE5vZGUg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIC8vIENvbnN0cnVjdG9yLiBOZXdseS1jcmVhdGVkIG5vZGVzIGFyZSBjb2xvcmVkIHJlZC4K
ICAgICAgICAgZXhwbGljaXQgTm9kZShjb25zdCBUJiBkYXRhKQpAQCAtNjU5LDcgKzY1OSw4IEBA
IHByaXZhdGU6CiAgICAgLy8gSGVscGVyIGNsYXNzIGZvciBzaXplKCkKIAogICAgIC8vIEEgVmlz
aXRvciB3aGljaCBzaW1wbHkgY291bnRzIHRoZSBudW1iZXIgb2YgdmlzaXRlZCBlbGVtZW50cy4K
LSAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ291bnRlcik7CiAgICAgcHVibGljOgogICAgICAgICBDb3VudGVyKCkKICAg
ICAgICAgICAgIDogbV9jb3VudCgwKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1NoYWRlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hh
ZGVyLmgKaW5kZXggZTViZDhkZS4uYjU2NjBmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvU2hhZGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgU2hhZGVyX2gKICNkZWZpbmUg
U2hhZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xh
c3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBDb2xv
cjsKIAotY2xhc3MgU2hhZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNoYWRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhZGVyKTsKIHByb3RlY3RlZDoKICAgICBTaGFk
ZXIoR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBwcm9ncmFtKTsKICAgICB+U2hhZGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKaW5kZXggMWJkYzUx
YS4uZGNhOGFiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGls
aW5nRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEu
aApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRpbGluZ0RhdGFfaAogI2RlZmluZSBUaWxp
bmdEYXRhX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEludFJlY3Q7CiAKLWNsYXNzIFRpbGlu
Z0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsaW5nRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGlsaW5nRGF0YSk7CiBwdWJsaWM6CiAgICAgVGlsaW5nRGF0YShp
bnQgbWF4VGV4dHVyZVNpemUsIGludCB0b3RhbFNpemVYLCBpbnQgdG90YWxTaXplWSwgYm9vbCBo
YXNCb3JkZXJUZXhlbHMpOwogICAgIGludCBtYXhUZXh0dXJlU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWF4VGV4dHVyZVNpemU7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4
IDYzNWZlZmYuLmJmNjBhYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApAQCAt
MjQsNyArMjQsNiBAQAogI2luY2x1ZGUgIkdPd25QdHIuaCIKICNpbmNsdWRlICJHUmVmUHRyLmgi
CiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5o
IgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVD
bGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC0zNiw3ICsz
NSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1jbGFzcyBTdHJlYW1pbmdDbGll
bnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Citj
bGFzcyBTdHJlYW1pbmdDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmVhbWluZ0NsaWVudCk7CiAgICAgcHVibGljOgogICAg
ICAgICBTdHJlYW1pbmdDbGllbnQoV2ViS2l0V2ViU3JjKik7CiAgICAgICAgIHZpcnR1YWwgflN0
cmVhbWluZ0NsaWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9o
YWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1
ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggNzcwMjQ1Ny4uZTgwMjhkYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5j
bHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBD
R0ZvbnRSZWY7CiB0eXBlZGVmIFVJbnQzMiBBVFNGb250Q29udGFpbmVyUmVmOwpAQCAtMzYsNyAr
MzUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xh
c3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyLCBBVFNGb250UmVm
IGF0c0ZvbnQsIENHRm9udFJlZiBjZ0ZvbnQpCiAgICAgOiBtX2F0c0NvbnRhaW5lcihjb250YWlu
ZXIpLCBtX2F0c0ZvbnQoYXRzRm9udCksIG1fY2dGb250KGNnRm9udCkKICAgICB7fQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCmluZGV4IGU0
YzY2ODguLjg0ODk5M2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52
Zy9QYWludGVyT3BlblZHLmgKQEAgLTI1LDcgKzI1LDYgQEAKIAogI2luY2x1ZGUgPG9wZW52Zy5o
PgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIFRpbGVkSW1h
Z2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xhc3MgUGFpbnRl
ck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3BlblZHIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoKICAgICBmcmll
bmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRmb3JtUGFpbnRl
clN0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3Vy
ZmFjZU9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9w
ZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLmVlNzIwMDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNs
dWRlIDxlZ2wuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBJbnRTaXplOwogICog
b2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1ha2UgaXQgZWFzeSB0byBhZGQgZGlmZmVyZW50IHN1cmZh
Y2UvY29udGV4dAogICogaW1wbGVtZW50YXRpb25zIHRoYW4gRUdMLgogICovCi1jbGFzcyBTdXJm
YWNlT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN1cmZhY2VPcGVuVkcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1cmZhY2VPcGVuVkcpOwogcHVibGljOgogICAgIGVu
dW0gTWFrZUN1cnJlbnRNb2RlIHsKICAgICAgICAgQXBwbHlQYWludGVyU3RhdGVPblN1cmZhY2VT
d2l0Y2gsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcuLmQ1ZjMyNDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0y
NSwxNCArMjUsMTYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJG
b250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9udFBs
YXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEo
KSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3
aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZv
bnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
aW5kZXggMjIwMWYxOC4uMDc3N2JiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSgpCiAgICAgICAgIDogcmVm
Q291bnQoMSkKQEAgLTYyLDggKzYzLDEwIEBAIHB1YmxpYzoKIAogCiAKLWNsYXNzIEZvbnRQbGF0
Zm9ybURhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRh
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBGb250UGxhdGZv
cm1EYXRhKCkgeyB9CiAgICAgRm9udFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQs
IGJvb2wgb2JsaXF1ZSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1E
YXRhICYpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29u
c3QgQXRvbWljU3RyaW5nJiBmYW1pbHlOYW1lLCBpbnQgd29yZFNwYWNpbmcgPSAwLCBpbnQgbGV0
dGVyU3BhY2luZyA9IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dFF0LmNwcAppbmRleCA5MDk0YzVhLi4zNjAzY2VlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcApAQCAtMTc3
LDcgKzE3Nyw4IEBAIHN0YXRpYyBpbmxpbmUgUXQ6OkZpbGxSdWxlIHRvUXRGaWxsUnVsZShXaW5k
UnVsZSBydWxlKQogICAgIHJldHVybiBRdDo6T2RkRXZlbkZpbGw7CiB9CiAKLWNsYXNzIEdyYXBo
aWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlcios
IGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJh
bnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRmYjM5Li45ZmFkN2VkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFRyYW5zcGFyZW5jeUxheWVyKGNvbnN0IFFQ
YWludGVyKiBwLCBjb25zdCBRUmVjdCAmcmVjdCwgcXJlYWwgb3BhY2l0eSwgUVBpeG1hcCYgYWxw
aGFNYXNrKQogICAgICAgICA6IHBpeG1hcChyZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpCiAg
ICAgICAgICwgb3BhY2l0eShvcGFjaXR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZTUxYjZiNi4uMDgz
ZTU4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiRm9udE9y
aWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgT1MoV0lO
RE9XUykKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtNDksNyArNDgsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVm
ZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICNpZiBPUyhXSU5ET1dTKQogICAgIEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYg
bmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUuaAppbmRleCA1ZTEyYWQ2Li40NDgzNWE0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKICNkZWZpbmUgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFzcyBQbGF0Zm9y
bUNvbnRleHRTa2lhOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRoaXMgY2xhc3MganVz
dCBob2xkcyBvbnRvIGEgUGxhdGZvcm1Db250ZXh0U2tpYSBmb3IgR3JhcGhpY3NDb250ZXh0Lgot
Y2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsKIHB1YmxpYzoKICAg
ICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoUGxhdGZvcm1Db250ZXh0U2tpYSogcGxh
dGZvcm1Db250ZXh0KQogICAgICAgICA6IG1fY29udGV4dChwbGF0Zm9ybUNvbnRleHQpIHsgfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4
dFNraWEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRT
a2lhLmgKaW5kZXggMTEwMDg1ZC4uZDY4M2FhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCkBAIC0zMiw3ICszMiw2IEBA
CiAjZGVmaW5lIFBsYXRmb3JtQ29udGV4dFNraWFfaAogCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogI2luY2x1ZGUgIlNrRGFzaFBhdGhF
ZmZlY3QuaCIKICNpbmNsdWRlICJTa0RyYXdMb29wZXIuaCIKQEAgLTY3LDcgKzY2LDggQEAgY2xh
c3MgVGV4dHVyZTsKIC8vIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyB0aGUgcGFpbnRpbmcgc3Rh
dGUgd2hpY2ggaXMgc3RvcmUgaW4gc2VwYXJhdGUKIC8vIFNrUGFpbnQgb2JqZWN0cy4gVGhpcyBj
bGFzcyBwcm92aWRlcyB0aGUgYWRhcHRvciB0aGF0IGFsbG93cyB0aGUgcGFpbnRpbmcKIC8vIHN0
YXRlIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGFsb25nIHdpdGggdGhlIGJpdG1hcC4KLWNsYXNz
IFBsYXRmb3JtQ29udGV4dFNraWEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGxhdGZv
cm1Db250ZXh0U2tpYSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGxhdGZvcm1Db250ZXh0
U2tpYSk7CiBwdWJsaWM6CiAgICAgLy8gRm9yIHByaW50aW5nLCB0aGVyZSBzaG91bGRuJ3QgYmUg
YW55IGNhbnZhcy4gY2FudmFzIGNhbiBiZSBOVUxMLiBJZiB5b3UKICAgICAvLyBzdXBwbHkgYSBO
VUxMIGNhbnZhcywgeW91IGNhbiBhbHNvIGNhbGwgc2V0Q2FudmFzIGxhdGVyLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
CmluZGV4IGJhZWUxMDIuLjhkMmY4NzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKQEAgLTMwLDcgKzMwLDYgQEAK
ICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogCiAjaW5jbHVkZSA8c3RyaW5nLmg+
IC8vIGZvciBtZW1jcHkKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiAjaWYgUExB
VEZPUk0oQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWZmaW5lVHJhbnNmb3JtLmg+CkBA
IC01NSw3ICs1NCw4IEBAIGNsYXNzIEludFBvaW50OwogY2xhc3MgSW50UmVjdDsKIGNsYXNzIFRy
YW5zZm9ybWF0aW9uTWF0cml4OwogCi1jbGFzcyBBZmZpbmVUcmFuc2Zvcm0gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBBZmZpbmVUcmFuc2Zvcm0geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIFRyYW5zZm9ybVs2XTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9y
bU9wZXJhdGlvbnMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3Ny4uOTgxZTFmNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0
aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
VHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5z
Zm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAg
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNm
b3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2YjRiYWEuLjFiYjA2NWUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgog
I2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQot
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNs
dWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAg
Y2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwog
Ci1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBNYXRyaXg0WzRdWzRdOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
aW5kZXggMWJkZjI3MC4uMTYyOGVlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAog
I2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKIApAQCAtMzQsNyArMzMsOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hh
cmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxl
IHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAg
ICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCiAgICAgICAgICwgbV9uYW1lKG5h
bWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhQ2Fpcm8uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCmluZGV4IDNhYjUyYjguLjA2OTkxYzggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFD
YWlyby5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGFDYWlyby5oCkBAIC0yNCw3ICsyNCw2IEBACiAKICNpbmNsdWRlICJGb250RGVzY3Jp
cHRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiAjaW5jbHVkZSA8Y2Fpcm8uaD4KIApAQCAtMzMsNyArMzIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVy
OwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250
Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KGNhaXJvX2ZvbnRfZmFjZV90KiBmb250RmFjZSkKICAgICAgICAgOiBtX2ZvbnRGYWNlKGZvbnRG
YWNlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xv
Y2FsV2luZG93c0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2Fs
V2luZG93c0NvbnRleHQuaAppbmRleCBjMjE2MTQwLi41OTUxZTQ5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCkBAIC0zMSw3
ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTG9jYWxXaW5kb3dzQ29u
dGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFdpbmRvd3NDb250ZXh0KTsKIHB1YmxpYzoK
ICAgICBMb2NhbFdpbmRvd3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0
LCBjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSwgYm9v
bCBtYXlDcmVhdGVCaXRtYXAgPSB0cnVlKQogICAgICAgICA6IG1fZ3JhcGhpY3NDb250ZXh0KGdy
YXBoaWNzQ29udGV4dCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1FUTW92aWUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAK
aW5kZXggZWZhZjIxOC4uZmU2MGM4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vUVRNb3ZpZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
UVRNb3ZpZS5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlIDxRVE1MLmg+CiAjaW5jbHVk
ZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB1
c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtNjMsNyArNjIsOCBAQCB1bmlvbiBVcHBQYXJhbSB7CiBz
dGF0aWMgVmVjdG9yPENGU3RyaW5nUmVmPiogZ1N1cHBvcnRlZFR5cGVzID0gMDsKIHN0YXRpYyBT
SW50MzIgcXVpY2tUaW1lVmVyc2lvbiA9IDA7CiAKLWNsYXNzIFFUTW92aWVQcml2YXRlIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworY2xhc3MgUVRNb3Zp
ZVByaXZhdGUgOiBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFFUTW92aWVQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVE1vdmllUHJpdmF0ZSgpOwog
ICAgIH5RVE1vdmllUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9RVE1vdmllR1dvcmxkLmNwcAppbmRleCBlMTNmNzMyLi4yNjg2MTJkIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcApAQCAtMzMsNyArMzMs
NiBAQAogI2luY2x1ZGUgPFF1aWNrVGltZUNvbXBvbmVudHMuaD4KICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcAppbmRleCAwOTE0MmJj
Li5iZjgwYTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRy
YWNrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcApA
QCAtMzEsNyArMzEsOCBAQAogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCi1jbGFzcyBRVFRyYWNr
UHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBRVFRyYWNrUHJpdmF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRUcmFja1ByaXZhdGUpOwogcHVibGljOgogICAgIFFU
VHJhY2tQcml2YXRlKCk7CiAgICAgflFUVHJhY2tQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAppbmRleCAxN2Vj
NDFkLi4xZTk5MGEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9X
S0NBQ0ZDb250ZXh0Rmx1c2hlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAtMzYsNyArMzUsOCBAQCBzdHJ1Y3QgV0tDQUNG
Q29udGV4dDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXS0NBQ0ZDb250ZXh0Rmx1
c2hlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGQ29udGV4dEZsdXNoZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAppbmRl
eCA3NjNmZmZhLi5hMTY2ZTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAi
VGltZXIuaCIKICNpbmNsdWRlICJXS0NBQ0ZMYXllci5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTU2LDcgKzU1LDggQEAgcHVibGljOgogLy8gRklYTUU6IEN1cnJlbnRseSB0
aGVyZSBpcyBhIFdLQ0FDRkxheWVyUmVuZGVyZXIgZm9yIGVhY2ggV2ViVmlldyBhbmQgZWFjaAog
Ly8gaGFzIGl0cyBvd24gQ0FSZW5kZXJPR0xDb250ZXh0IGFuZCBEaXJlY3QzRERldmljZTksIHdo
aWNoIGlzIGluZWZmaWNpZW50LgogLy8gKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMTg1NSkKLWNsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV0tDQUNGTGF5ZXJSZW5kZXJlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8V0tDQUNGTGF5ZXJSZW5kZXJlcj4gY3JlYXRlKFdLQ0FDRkxheWVyUmVuZGVyZXJDbGllbnQq
KTsKICAgICB+V0tDQUNGTGF5ZXJSZW5kZXJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBhYmRj
MGYyLi5mMjI3NmFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsNyArMjQsNiBAQAogI2luY2x1
ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJGb250KGNvbnN0IFN0cmluZyYg
Zm9udE5hbWUpID0gMDsKICAgICB9OwogCi0gICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKKyAg
ICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY29uc3QgU3RyaW5nJiBu
YW1lKQogICAgICAgICAgICAgOiBtX25hbWUobmFtZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaAppbmRleCBlNzNh
N2IyLi45ODYyN2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgIkZvbnREZXNj
cmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSW1wbC5oPgogCiB0eXBlZGVmIHN0cnVjdCB0YWdURVhUTUVUUklDVyBURVhUTUVU
UklDOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGlj
c0NvbnRleHRXaW5DRS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBo
aWNzQ29udGV4dFdpbkNFLmNwcAppbmRleCAwODAyODI2Li44MjQ1NTk2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNF
LmNwcApAQCAtNDQwLDcgKzQ0MCw4IEBAIHN0YXRpYyB2b2lkIHJvdGF0ZUJpdG1hcChTaGFyZWRC
aXRtYXAqIGRlc3RCbXAsIGNvbnN0IFNoYXJlZEJpdG1hcCogc291cmNlQm1wLCBjCiAgICAgICAg
IF9yb3RhdGVCaXRtYXA8dW5zaWduZWQsIGZhbHNlPihkZXN0Qm1wLCBzb3VyY2VCbXAsIHRyYW5z
Zm9ybSk7CiB9CiAKLWNsYXNzIFRyYW5zcGFyZW50TGF5ZXJEQyA6IE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFRyYW5zcGFyZW50TGF5ZXJEQyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNw
YXJlbnRMYXllckRDKTsKIHB1YmxpYzoKICAgICBUcmFuc3BhcmVudExheWVyREMoR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhLCBJbnRSZWN0JiBvcmlnUmVjdCwgY29uc3QgSW50
UmVjdCogcmVjdEJlZm9yZVRyYW5zZm9ybSA9IDAsIGludCBhbHBoYSA9IDI1NSwgYm9vbCBwYWlu
dEltYWdlID0gZmFsc2UpOwogICAgIH5UcmFuc3BhcmVudExheWVyREMoKTsKQEAgLTU2MCw3ICs1
NjEsOCBAQCB2b2lkIFRyYW5zcGFyZW50TGF5ZXJEQzo6ZmlsbEFscGhhQ2hhbm5lbCgpCiAgICAg
fQogfQogCi1jbGFzcyBTY29wZURDUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBTY29w
ZURDUHJvdmlkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlRENQcm92aWRlcik7
CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NvcGVEQ1Byb3ZpZGVyKEdyYXBoaWNzQ29udGV4dFBs
YXRmb3JtUHJpdmF0ZSogZGF0YSkKICAgICAgICAgOiBtX2RhdGEoZGF0YSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5k
ZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2lu
Y2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAg
ICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAg
IHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvQ2xpcGJvYXJkR3RrLmggYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaApp
bmRleCBlMTRhNTgzLi4wYzA3YzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9D
bGlwYm9hcmRHdGsuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaApA
QCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gU3RhdGUgYXZhaWxh
YmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQog
ICAgIC8vIENyZWF0ZWQgZnJvbSB0aGUgRXZlbnRIYW5kbGVyR3RrIHRvIGJlIHVzZWQgYnkgdGhl
IGRvbQogICAgIGNsYXNzIENsaXBib2FyZEd0ayA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBD
YWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkR3RrPiBjcmVh
dGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgR3RrQ2xpcGJvYXJkKiBjbGlwYm9hcmQs
IEZyYW1lKiBmcmFtZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvSW1hZ2VEZWNvZGVyLmgKaW5kZXggNWEwNGJlZS4uMTMwMDM3NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCkBAIC0yMjEsNyArMjIx
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHNldE1heE51bVBpeGVscygpIHRvIHNw
ZWNpZnkgdGhlIGJpZ2dlc3Qgc2l6ZSB0aGF0IGRlY29kZWQgaW1hZ2VzIGNhbgogICAgIC8vIGhh
dmUuIEltYWdlIGRlY29kZXJzIHdpbGwgZGVmbGF0ZSB0aG9zZSBpbWFnZXMgdGhhdCBhcmUgYmln
Z2VyIHRoYW4KICAgICAvLyBtX21heE51bVBpeGVscy4gKE5vdCBzdXBwb3J0ZWQgYnkgYWxsIGlt
YWdlIGRlY29kZXJzIHlldCkKLSAgICBjbGFzcyBJbWFnZURlY29kZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEltYWdlRGVjb2RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEltYWdlRGVjb2Rlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgSW1hZ2VEZWNvZGVyKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgYm9vbCBpZ25v
cmVHYW1tYUFuZENvbG9yUHJvZmlsZSkKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCmluZGV4IDcxODdlY2YuLjM5ZWFkZGEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1l
OwogY2xhc3MgRmlsZUxpc3Q7CiAKIGNsYXNzIENsaXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9h
cmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVh
dGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQs
IENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmlu
ZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2IEBACiAgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250ZXh0OwpAQCAtMzEsNyAr
MzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9t
YXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0
IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9u
IHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBo
aWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1h
Yy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZm
MTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVy
TWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0y
OSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0
L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQg
PHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4
IDFmZjYzNDQuLmMxZjU1MjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0x
NDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxv
YkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEJsb2JEYXRhPiBjcmVhdGUo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRl
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCmluZGV4IDg3
ZDBlZjMuLjExMmUzMTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3Jt
RGF0YUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWls
ZGVyLmgKQEAgLTIzLDE0ICsyMywxNCBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgVGV4dEVuY29k
aW5nOwogCi1jbGFzcyBGb3JtRGF0YUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRm9ybURhdGFCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb3JtRGF0YUJ1
aWxkZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXh0RW5jb2RpbmcgZW5jb2RpbmdGcm9tQWNj
ZXB0Q2hhcnNldChjb25zdCBTdHJpbmcmIGFjY2VwdENoYXJzZXQsIERvY3VtZW50KiBkb2N1bWVu
dCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVO
b3RpZmllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVy
LmgKaW5kZXggZDFmMmRiNC4uZmVhNDM5NGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE5l
dHdvcmtTdGF0ZU5vdGlmaWVyX2gKICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTYx
LDcgKzYwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTmV0d29ya1N0YXRlTm90aWZp
ZXJQcml2YXRlOwogI2VuZGlmCiAKLWNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShOZXR3b3JrU3RhdGVOb3RpZmllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBzZXRO
ZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5Y2NjZWNkLi5j
Mjk5Y2U1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9uOwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50OwogCi0gICAg
Y2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVzb3VyY2VIYW5kbGUq
IGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNs
aWVudCogYywgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZikKICAg
ICAgICAgICAgIDogbV9jbGllbnQoYykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDMzYTE4NGUuLmY3OTU4NGUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAtNDksNyArNDksOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1
ZXN0RGF0YTsKIAogICAgIC8vIERvIG5vdCB1c2UgdGhpcyB0eXBlIGRpcmVjdGx5LiAgVXNlIFJl
c291cmNlUmVxdWVzdCBpbnN0ZWFkLgotICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8g
VGhlIHR5cGUgb2YgdGhpcyBSZXNvdXJjZVJlcXVlc3QsIGJhc2VkIG9uIGhvdyB0aGUgcmVzb3Vy
Y2Ugd2lsbCBiZSB1c2VkLgogICAgICAgICBlbnVtIFRhcmdldFR5cGUgewpAQCAtMjA1LDcgKzIw
NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1
cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29tcGFyZShhLCBiKTsgfQogICAgIGlubGluZSBib29s
IG9wZXJhdG9yIT0oUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIp
IHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi0gICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXF1ZXN0RGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENyb3NzVGhyZWFkUmVz
b3VyY2VSZXF1ZXN0RGF0YUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9z
c1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNl
KCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2Fj
aGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uZTA3NzRjMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQx
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0
aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNl
QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNl
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxSZXNvdXJjZVJlc3BvbnNlPiBhZG9wdChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVz
b3VyY2VSZXNwb25zZURhdGE+KTsKIApAQCAtMTc1LDcgKzE3NiwxMCBAQCBwcml2YXRlOgogaW5s
aW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y29tcGFyZShh
LCBiKTsgfQogaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBh
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotc3Ry
dWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIDogTm9uY29weWFibGUgewor
c3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSk7CitwdWJs
aWM6CisgICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UoKSB7IH0KICAgICBL
VVJMIG1fdXJsOwogICAgIFN0cmluZyBtX21pbWVUeXBlOwogICAgIGxvbmcgbG9uZyBtX2V4cGVj
dGVkQ29udGVudExlbmd0aDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IGU1NzhhOGQuLmE3MDhkY2MgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cApAQCAtNjAsNyArNjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNkZWZpbmUgUkVBRF9C
VUZGRVJfU0laRSA4MTkyCiAKLWNsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1Ymxp
YyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoK
ICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVz
cG9uc2UgJiwgVmVjdG9yPGNoYXI+Jik7CiAgICAgfldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2lu
LmNwcAppbmRleCAzOGQ5Y2QxLi5mNTA1NDBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcApAQCAtNzYsNyArNzYsOCBAQCBzdGF0
aWMgU3RyaW5nIHF1ZXJ5SFRUUEhlYWRlcihISU5URVJORVQgcmVxdWVzdEhhbmRsZSwgRFdPUkQg
aW5mb0xldmVsKQogfQogCiAKLWNsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1Ymxp
YyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoK
ICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVz
cG9uc2UmLCBWZWN0b3I8Y2hhcj4mLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7CiAgICAgfldl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9DbGlwYm9hcmRRdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCmluZGV4
IDVhY2ExYTYuLmZiNWFiZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJv
YXJkUXQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKQEAgLTM5LDYg
KzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gU3RhdGUgYXZhaWxhYmxlIGR1
cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogICAgIGNs
YXNzIENsaXBib2FyZFF0IDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNl
Q2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRRdD4gY3JlYXRlKENsaXBib2FyZEFj
Y2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFNaW1lRGF0YSogcmVhZGFibGVDbGlwYm9hcmQpCiAg
ICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNl
LmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMu
LmRhNTNhY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNl
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtNTAsNyAr
NTAsOCBAQCBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdFNjaGVtYTsKIGV4dGVybiBjb25zdCBp
bnQgU1FMUmVzdWx0RnVsbDsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0Owog
Ci1jbGFzcyBTUUxpdGVEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxp
dGVEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlRGF0YWJhc2UpOwog
ICAgIGZyaWVuZCBjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbjsKIHB1YmxpYzoKICAgICBTUUxpdGVE
YXRhYmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVt
ZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRleCAxNDQ0
ZjBlLi5mZDFhYmZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0
ZW1lbnQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaApAQCAt
MzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTFZhbHVlOwogCi1j
bGFzcyBTUUxpdGVTdGF0ZW1lbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRl
U3RhdGVtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVTdGF0ZW1lbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FM
aXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi45ZTMz
Y2Y4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0
ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRy
YW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2Fj
dGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1FMaXRlVHJhbnNhY3Rpb24oU1FMaXRlRGF0YWJh
c2UmIGRiLCBib29sIHJlYWRPbmx5ID0gZmFsc2UpOwogICAgIH5TUUxpdGVUcmFuc2FjdGlvbigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCmluZGV4IDFmODcxMTUuLjA1NmVkNzIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNk
ZWZpbmUgQmlkaVJlc29sdmVyX2gKIAogI2luY2x1ZGUgIkJpZGlDb250ZXh0LmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTEyNiw3ICsxMjUsOCBAQCBzdHJ1Y3QgQmlkaUNoYXJh
Y3RlclJ1biB7CiAgICAgQmlkaUNoYXJhY3RlclJ1biogbV9uZXh0OwogfTsKIAotdGVtcGxhdGUg
PGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3Mg
QmlkaVJlc29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCaWRpUmVzb2x2ZXIpOwog
cHVibGljIDoKICAgICBCaWRpUmVzb2x2ZXIoKQogICAgICAgICA6IG1fZGlyZWN0aW9uKFdURjo6
VW5pY29kZTo6T3RoZXJOZXV0cmFsKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1JlZ3VsYXJFeHByZXNzaW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJl
c3Npb24uaAppbmRleCBmMTYxMWU1Li41MzZlZDQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
UmVndWxhckV4cHJlc3Npb24uaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFJlZ3VsYXJFeHByZXNzaW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgUmVndWxhckV4cHJlc3Npb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vu
c2l0aXZpdHkpOwogICAgIH5SZWd1bGFyRXhwcmVzc2lvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRD
b2RlYy5oCmluZGV4IGM2YWYzOGEuLjEyY2Y2NDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
LmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi91bmlj
b2RlL1VuaWNvZGUuaD4KQEAgLTU3LDggKzU2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIHR5cGVkZWYgY2hhciBVbmVuY29kYWJsZVJlcGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAg
Y2xhc3MgVGV4dENvZGVjIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29k
ZWMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAg
ICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0
IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdk
Yjk3Ny4uYmZmZjkzZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29k
ZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rl
ci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2Nv
ZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5z
Y29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBjb252ZXJ0KFN0cmluZyYgdGV4dCwgY29uc3QgRm9u
dERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwogICAgIGJvb2wg
bmVlZHNUcmFuc2NvZGluZyhjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2Rp
bmcqID0gMCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9h
cmRXaW4uaCBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCmluZGV4IGNlNjRi
ODUuLjc3OWRhMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdp
bi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCkBAIC00MSw2ICs0
MSw3IEBAIGNsYXNzIFdDRGF0YU9iamVjdDsKIAogLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJ
RSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogY2xhc3MgQ2xpcGJv
YXJkV2luIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5cGUsIElE
YXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFt
ZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93
TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdl
QnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5kMzZjMjMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBA
CiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0ZW5lcjsKIAotICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VC
cm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2luZG93TWVzc2Fn
ZUJyb2FkY2FzdGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93TWVzc2Fn
ZUJyb2FkY2FzdGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZExpc3Rl
bmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VMaXN0ZW5lciopOwogICAgICAgICBzdGF0aWMgdm9pZCBy
ZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
bkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1Zi4uYzQxMmMwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFi
YXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRl
ZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdlPiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdp
blNldDsKIAotICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBsdWdpbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5U
aHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi4yOWJjNGU2IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRl
ZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5U
aHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRo
cmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVh
ZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVk
ZWYgdm9pZCBNYWluVGhyZWFkRnVuY3Rpb24odm9pZCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luVmlldy5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAppbmRl
eCBkZWFlYzk5Li5hOTliNmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKQEAgLTkzLDcgKzkzLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQbHVnaW5TdGF0dXNMb2FkZWRTdWNjZXNzZnVs
bHkKICAgICB9OwogCi0gICAgY2xhc3MgUGx1Z2luUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgUGx1Z2luUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblJlcXVlc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2Fk
UmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRhLCBib29sIHNo
b3VsZEFsbG93UG9wdXBzKQogICAgICAgICAgICAgOiBtX2ZyYW1lTG9hZFJlcXVlc3QoZnJhbWVM
b2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaAppbmRleCA1ZTZmNjE5Li5kNzdkNmNhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBD
b2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2x1bW5JbmZvKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDog
bV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0
MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAog
I2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8v
IFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcg
cGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4
IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0
YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3
ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVu
ZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUp
OwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2Up
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi43ODdhNjg4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9o
CiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6
ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyQXJlbmEodW5zaWdu
ZWQgYXJlbmFTaXplID0gNDA5Nik7CiAgICAgflJlbmRlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaAppbmRleCA1MTUzMjE4Li5hMDZjZDgyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
QEAgLTM1NCw3ICszNTQsOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIGV2ZXJIYWRMYXlvdXQ7
CiAgICAgfTsKIAotICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
bG9hdGluZ09iamVjdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBiaXRzIHNvIHlvdSBjYW4gdXNlIEZsb2F0Qm90
aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGggbGVmdCBhbmQgcmlnaHQuCiAgICAgICAgIGVu
dW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0UmlnaHQgPSAyLCBGbG9hdEJvdGggPSAzIH07
CiAKQEAgLTY4MSw3ICs2ODMsOSBAQCBwcml2YXRlOgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0
KiBtX2NvbnRpbnVhdGlvbjsKICAgICAKICAgICAvLyBBbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUg
b2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzCi0gICAgc3RydWN0IFJlbmRl
ckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IFJlbmRlckJsb2NrUmFy
ZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJCbG9ja1JhcmVEYXRh
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBSZW5kZXJC
bG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6IG1f
bWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdp
bkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayks
IG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9wYWdp
bmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cAppbmRleCAxNDNjNzJjLi4zNmM3NzM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xv
d1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJl
bmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0
eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6
ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcigpOwogICAgIGJvb2wgc2hvdWxkUGFp
bnRBdExvd1F1YWxpdHkoR3JhcGhpY3NDb250ZXh0KiwgUmVuZGVyQm94TW9kZWxPYmplY3QqLCBJ
bWFnZSosIGNvbnN0IHZvaWQqIGxheWVyLCBjb25zdCBJbnRTaXplJik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhbWVTZXQuaAppbmRleCBkMGFiMzQ2Li4xZTUxMWQyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZyYW1lU2V0LmgKQEAgLTczLDcgKzczLDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdGF0
aWMgY29uc3QgaW50IG5vU3BsaXQgPSAtMTsKIAotICAgIGNsYXNzIEdyaWRBeGlzIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmlkQXhpcyB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdyaWRBeGlzKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEdyaWRBeGlzKCk7CiAg
ICAgICAgIHZvaWQgcmVzaXplKGludCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZVJlc291cmNlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291
cmNlLmgKaW5kZXggMjM0NjcxMi4uYTIwYzU1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlUmVzb3VyY2UuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2Uu
aCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlN0eWxlSW1h
Z2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFJlbmRlckltYWdlUmVzb3VyY2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVuZGVySW1hZ2VSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlckltYWdlUmVzb3VyY2UoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCBmYjNhYjY3Li4wMWEyZjE4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtNTMsNyArNTMsOCBA
QCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8vIAogLy8gVGhlcmUgaXMgb25lIFJlbmRl
ckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXllciB0aGF0IGlzIGNvbXBvc2l0ZWQuCiAK
LWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50LCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nIDogcHVibGljIEdy
YXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckxheWVy
QmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRlckxh
eWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi45OGZkZGI5IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Ny
b2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFy
cXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyTWFycXVlZShSZW5kZXJMYXllciopOwog
ICAgIHZpcnR1YWwgflJlbmRlck1hcnF1ZWUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5o
CmluZGV4IDI1M2E2NzIuLmQ4ZjJlNWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck92ZXJmbG93LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaApA
QCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZQogLy8gRXhhbXBsZXMgb2YgdmlzdWFs
IG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0cm9rZSAoYW5kIGV2ZW50dWFsbHkgb3V0bGlu
ZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhpcyBvYmplY3QgaXMgYWxsb2NhdGVkIG9ubHkg
d2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcyBpbiB0aGUg
b3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJP
dmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRlck92
ZXJmbG93KGNvbnN0IEludFJlY3QmIGRlZmF1bHRSZWN0ID0gSW50UmVjdCgpKSAKICAgICAgICAg
OiBtX3RvcExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnkoKSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKaW5kZXggMjAxNTNlOS4uODFjNzlkMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKQEAgLTM2LDcg
KzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQ2xpcHBlckRhdGEgOiBG
YXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVyRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdl
OwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5m
by5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZj
MWEuLjQ1Y2E4MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlv
bkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAg
LTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxl
Y3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rp
b25JbmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5m
b0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJTZWxl
Y3Rpb25JbmZvQmFzZSgpCiAgICAgICAgIDogbV9vYmplY3QoMCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
aAppbmRleCAwN2Y5MzNmLi4xMzNlYjc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBAIC0yNTQs
NyArMjU0LDggQEAgdm9pZCB0b1JlbmRlclZpZXcoY29uc3QgUmVuZGVyVmlldyopOwogCiAKIC8v
IFN0YWNrLWJhc2VkIGNsYXNzIHRvIGFzc2lzdCB3aXRoIExheW91dFN0YXRlIHB1c2gvcG9wCi1j
bGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TGF5b3V0U3RhdGVNYWludGFpbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMYXlvdXRT
dGF0ZU1haW50YWluZXIpOwogcHVibGljOgogICAgIC8vIGN0b3IgdG8gcHVzaCBub3cKICAgICBM
YXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmlldyogdmlldywgUmVuZGVyQm94KiByb290LCBJ
bnRTaXplIG9mZnNldCwgYm9vbCBkaXNhYmxlU3RhdGUgPSBmYWxzZSwgaW50IHBhZ2VIZWlnaHQg
PSAwLCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0gZmFsc2UsIENvbHVtbkluZm8qIGNvbEluZm8g
PSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9y
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaAppbmRleCA3ODgz
MDRjLi44YmY2YWM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQ
cm90ZWN0b3IuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3Iu
aApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRl
cldpZGdldFByb3RlY3RvciA6IHByaXZhdGUgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyV2lk
Z2V0UHJvdGVjdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJXaWRnZXRQcm90
ZWN0b3IpOwogcHVibGljOgogICAgIFJlbmRlcldpZGdldFByb3RlY3RvcihSZW5kZXJXaWRnZXQq
IG9iamVjdCkKICAgICAgICAgOiBtX29iamVjdChvYmplY3QpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJ
bWFnZUJ1ZmZlclRvb2xzLmgKaW5kZXggOWJjYzdhNC4uOTIyNTgwNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxF
KFNWRykKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMyLDcgKzMxLDggQEAgY2xhc3MgRmxv
YXRTaXplOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1j
bGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNW
R0ltYWdlQnVmZmVyVG9vbHMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQnVm
ZmVyVG9vbHMpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIGNyZWF0ZUltYWdlQnVmZmVyKGNv
bnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVUYXJnZXRSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGNsYW1w
ZWRBYnNvbHV0ZVRhcmdldFJlY3QsIE93blB0cjxJbWFnZUJ1ZmZlcj4mLCBDb2xvclNwYWNlKTsK
ICAgICBzdGF0aWMgdm9pZCByZW5kZXJTdWJ0cmVlVG9JbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlcios
IFJlbmRlck9iamVjdCosIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHTWFya2VyTGF5b3V0SW5mby5oCmluZGV4IDhmNTk3MDM1Li4wNzJiNGJjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCkBAIC0yMyw3ICsyMyw2IEBACiAjaWYgRU5B
QkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJE
YXRhLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDIsNyArNDEsOCBAQCBzdHJ1Y3QgTWFya2VyTGF5b3V0IHsKICAgICBBZmZpbmVU
cmFuc2Zvcm0gbWF0cml4OwogfTsKIAotY2xhc3MgU1ZHTWFya2VyTGF5b3V0SW5mbyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdNYXJrZXJMYXlvdXRJbmZvKTsKIHB1YmxpYzoKICAgICBTVkdNYXJr
ZXJMYXlvdXRJbmZvKCk7CiAgICAgflNWR01hcmtlckxheW91dEluZm8oKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzLmgKaW5kZXggNDk1OTFjZi4uYzQ2NjM1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtMzgsNyArMzcsOCBA
QCBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjsKIGNsYXNzIFNWR1JlbmRlclN0eWxlOwog
CiAvLyBIb2xkcyBhIHNldCBvZiByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgUmVuZGVyT2Jq
ZWN0Ci1jbGFzcyBTVkdSZXNvdXJjZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
UmVzb3VyY2VzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXMpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXMoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKaW5kZXggNGE2MTU3MC4uMDg5YjYyOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0zMSw3ICszMSw4IEBAIGNsYXNz
IFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBT
VkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4z
NDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgK
QEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNl
c0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNv
bHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0
KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5iZTAxYzY4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxl
TGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVm
aW5lIFRhYmxlTGF5b3V0X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBUYWJsZUxheW91dChSZW5kZXJUYWJsZSogdGFibGUpCiAgICAgICAgIDogbV90
YWJsZSh0YWJsZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRl
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCmluZGV4IDBiNGNhNDYuLjM2
ZmM2ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBA
CiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUg
IlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBU
cmFuc2Zvcm1TdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc2Zvcm1TdGF0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU3RhdGUpOwogcHVibGljOgog
ICAgIGVudW0gVHJhbnNmb3JtRGlyZWN0aW9uIHsgQXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIFVu
YXBwbHlJbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uIH07CiAgICAgZW51bSBUcmFuc2Zvcm1BY2N1
bXVsYXRpb24geyBGbGF0dGVuVHJhbnNmb3JtLCBBY2N1bXVsYXRlVHJhbnNmb3JtIH07CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCmluZGV4IDRkZWFlZjUuLmIyNWIy
ZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCkBAIC0zOCw3
ICszOCw4IEBAIGNvbnN0IGludCBQb3NpdGlvblRvcCA9IC0weDdmZmZmZmZmOwogY29uc3QgaW50
IFBvc2l0aW9uQm90dG9tID0gMHg3ZmZmZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvblVuZGVmaW5l
ZCA9IDB4ODAwMDAwMDA7CiAKLWNsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFZlcnRpY2FsUG9zaXRpb25DYWNoZSk7CiBwdWJsaWM6CiAgICAgVmVydGlj
YWxQb3NpdGlvbkNhY2hlKCkKICAgICB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0NvbnRlbnREYXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0
YS5oCmluZGV4IDRmOTY0YTIuLjE1ZjY5MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0NvbnRlbnREYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVu
dERhdGEuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0
eWxlSW1hZ2U7CiAKLXN0cnVjdCBDb250ZW50RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBD
b250ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGVudERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb250ZW50RGF0YSgpCiAgICAgICAg
IDogbV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29u
dGVudC5oCmluZGV4IDUyNzU3YWQuLjgxNDAzOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
Q291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
Q291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RT
dHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6
IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApp
bmRleCA0OWZiMjk0Li44NDdlOGRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApA
QCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsK
IH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZp
bGxMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRmls
bExheWVyKEVGaWxsTGF5ZXJUeXBlKTsKICAgICB+RmlsbExheWVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TaGFkb3dEYXRhLmgKaW5kZXggY2E4M2FmMC4uYTNkZGYxMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1NoYWRvd0RhdGEuaApAQCAtMjYsNyArMjYsNiBAQAogI2RlZmluZSBTaGFkb3dEYXRh
X2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGVudW0gU2hhZG93U3R5
bGUgeyBOb3JtYWwsIEluc2V0IH07CiAKIC8vIFRoaXMgc3RydWN0IGhvbGRzIGluZm9ybWF0aW9u
IGFib3V0IHNoYWRvd3MgZm9yIHRoZSB0ZXh0LXNoYWRvdyBhbmQgYm94LXNoYWRvdyBwcm9wZXJ0
aWVzLgogCi1jbGFzcyBTaGFkb3dEYXRhIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
U2hhZG93RGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
U2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgc3Ry
dWN0IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQgdGhlIGFjdHVhbCBw
ZXItY2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVh
Y2ggY2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cyAoU1ZH
VGV4dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25z
IHRoYXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5rICh0
ZXh0LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVibGljOgogICAgIFNW
R1RleHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFjNjQuLmM2ODE4NWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRl
c0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJp
YnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHVGV4dDsKIC8v
IHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUgYmFzZWQgb24gdGV4dCBjaHVuayBib3VuZGFy
aWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRoZSBzZWNvbmQgbGF5b3V0IHBoYXNlIGlzIGNh
cnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRB
dHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5
b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRM
YXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEF0dHJp
YnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWlsZExheW91dEF0dHJpYnV0ZXNGb3JUZXh0U3Vi
dHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlv
dXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgU1ZHUmVu
ZGVyU3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0byBjb21wdXRlIHRo
ZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGljaCBhcmUgc3RvcmVk
IGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRF
bmdpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZSk7CiBwdWJsaWM6
CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVua0J1aWxkZXImIGNo
dW5rTGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWlsZGVyOyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgK
aW5kZXggZDc1M2IzOS4uYWMzOTNlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMyw3ICszMiw4
IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHVGV4dE1ldHJpY3M7CiAKIC8vIEhl
bHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdhbGlnbm1l
bnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5lJyBhbmQgJ2Jhc2VsaW5lLXNoaWZ0Jy4K
LWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4
dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAppbmRleCAwYTZkNzM2Li43
MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNs
YXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRF
bmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICdsZXR0ZXItc3BhY2luZycgYW5kICd3b3JkLXNw
YWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nKTsKIHB1YmxpYzoKICAgICBT
VkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRh
c2suaAppbmRleCBiNjFlNDY1Li5lMWRmNTkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
RGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCkBAIC00
Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJlIHVzZWQgdG8gd2Fp
dCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRvIGJlIHBhc3NlZCBp
bnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFzay4K
LWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0YWJhc2VUYXNrU3lu
Y2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAot
Y2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNl
VGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNrKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZiLi5hMWE1YmRmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJh
Y2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExB
VEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGluaXRpYWxpemVUcmFja2VyKGNvbnN0IFN0cmluZyYgZGF0YWJhc2VQYXRo
KTsKICAgICBzdGF0aWMgRGF0YWJhc2VUcmFja2VyJiB0cmFja2VyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIGIvV2ViQ29yZS9z
dG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAppbmRleCA3ODNhNzMxLi40ZmNj
MjM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9u
aXRvci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NCw3ICs0Myw4IEBAIGNsYXNzIElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZTsKIC8vIEZJWE1FOiBtb3ZlIHRoZSB2ZWN0b3Igb2YgdHJhbnNhY3Rp
b25zIHRvIFRMUy4gS2VlcGluZyBpdCBzdGF0aWMKIC8vIHdpbGwgbm90IHdvcmsgb25jZSB3ZSBh
ZGQgc3VwcG9ydCBmb3Igd29ya2Vycy4gQW5vdGhlciBwb3NzaWJsZQogLy8gc29sdXRpb24gaXMg
dG8ga2VlcCB0aGUgdmVjdG9yIGluIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgotY2xhc3Mg
SURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9p
ZCBhZGRQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7
CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlUGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3Rv
cmFnZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKaW5kZXggYTJl
MzVlYS4uMjdhOGViNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRh
c2suaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCkBAIC0zNyw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQ7
CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRhc2sKLSAgICBj
bGFzcyBMb2NhbFN0b3JhZ2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBM
b2NhbFN0b3JhZ2VUYXNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9y
YWdlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5bmMsIERlbGV0ZUVtcHR5RGF0YWJhc2UsIFRl
cm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9y
YWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKaW5kZXgg
NmYwNTkxMS4uYTJjNzhjNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFn
ZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAt
NDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdl
VGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFk
Ci0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRl
KCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90
YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi44MmQ3Yzc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1
b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3Jp
Z2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3Rh
TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgT3JpZ2luUXVvdGFNYW5hZ2Vy
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oIGIv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKaW5kZXggYTgzMGU2OC4uNzU1N2Vh
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAvLyBPYmplY3RzIG9mIHRoaXMgY2xhc3MgY2FuIGJlIHVzZWQg
ZnJvbSBtdWx0aXBsZSB0aHJlYWRzIHdpdGggZXh0ZXJuYWwgc3luY2hyb25pemF0aW9uLgogLy8g
U3RyaW5nIGFyZ3VtZW50cyBhcmUgYWxzbyBzdXBwb3NlZCB0byBiZSBkZWVwbHkgY29waWVkIGJ5
IHRoZSBjYWxsZXIgd2hlbiBuZWNlc3NhcnkuCi1jbGFzcyBPcmlnaW5Vc2FnZVJlY29yZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoT3JpZ2luVXNhZ2VSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJlY29yZCgpOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxU
cmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2NTcuLjM5ODg4ZDYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCisrKyBiL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpZiBFTkFCTEUo
REFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00MSw4ICs0MCwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAv
LyBBIGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2Fj
dGlvbiB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdz
IGhhdmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xp
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9
CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsK
ICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJv
b2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uZmQ3Njc4MiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0Mywx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAot
ICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAgICBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9y
KCkgeyB9CiAgICAgICAgIHZvaWQgYWNxdWlyZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAg
ICAgdm9pZCByZWxlYXNlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHNodXRk
b3duKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaCBi
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCmluZGV4IGEwY2YyYmIuLjBlZDYy
YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCisrKyBi
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCkBAIC0zOCw3ICszOCw4IEBAIGNs
YXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiBjbGFzcyBTVkdTTUlMRWxlbWVudDsKIGNsYXNzIFNWR1NW
R0VsZW1lbnQ7CiAKLWNsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdEb2N1bWVudEV4dGVuc2lvbnMgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8U1ZHU3R5bGVkRWxlbWVudD4gPiBT
VkdQZW5kaW5nRWxlbWVudHM7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKERvY3VtZW50Kik7
CkBAIC02OCw5ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFNW
R1BlbmRpbmdFbGVtZW50cyo+IG1fcGVuZGluZ1Jlc291cmNlczsKICAgICBPd25QdHI8U1ZHUmVz
b3VyY2VzQ2FjaGU+IG1fcmVzb3VyY2VzQ2FjaGU7CiAKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lv
bnMoY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0gICAgU1ZHRG9jdW1lbnRFeHRlbnNp
b25zJiBvcGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0KIHB1YmxpYzoK
ICAgICAvLyBUaGlzIEhhc2hNYXAgY29udGFpbnMgYSBsaXN0IG9mIHBlbmRpbmcgcmVzb3VyY2Vz
LiBQZW5kaW5nIHJlc291cmNlcywgYXJlIHN1Y2gKICAgICAvLyB3aGljaCBhcmUgcmVmZXJlbmNl
ZCBieSBhbnkgb2JqZWN0IGluIHRoZSBTVkcgZG9jdW1lbnQsIGJ1dCBkbyBOT1QgZXhpc3QgeWV0
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmggYi9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAppbmRleCA0Mjc2YzRhLi5kYTBmNGMxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50UmFyZURhdGEuaApAQCAtMjEsNyArMjEsNiBAQAogI2RlZmluZSBTVkdFbGVtZW50
UmFyZURhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTMxLDcgKzMwLDggQEAgY2xhc3MgU1ZHQ3Vyc29yRWxlbWVudDsKIGNsYXNz
IFNWR0VsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiAKLWNsYXNzIFNWR0VsZW1l
bnRSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdFbGVtZW50UmFyZURh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0VsZW1lbnRSYXJlRGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAg
ICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdG
b250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li5mMjAy
ZDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUv
c3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdG
b250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdGb250RGF0YShTVkdGb250RmFjZUVs
ZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5TVkdGb250RGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgK
aW5kZXggYzBhZTdmMy4uOGU0M2I5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJs
ZW5kZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCkBAIC0yMywxMSArMjMs
MTEgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2lu
Y2x1ZGUgIlNWR1BhdGhTb3VyY2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoQmxlbmRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQmxlbmRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHUGF0aEJsZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBTVkdQYXRoQmxlbmRlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0
ZVN0cmVhbS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAppbmRleCBiODg4MmI2
Li4xZjQ1ZGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCisr
KyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNk
ZWZpbmUgU1ZHUGF0aEJ5dGVTdHJlYW1faAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIApAQCAtNDMsNyArNDIsOCBAQCB0eXBlZGVmIHVuaW9uIHsKICAgICB1
bnNpZ25lZCBjaGFyIGJ5dGVzW3NpemVvZih1bnNpZ25lZCBzaG9ydCldOwogfSBVbnNpZ25lZFNo
b3J0Qnl0ZTsKIAotY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1BhdGhCeXRlU3RyZWFtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi5kYmJkY2ExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIu
aApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBv
aW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0
ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAg
IFNWR1BhdGhDb25zdW1lcigpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnRQYXRoU2Vn
bWVudENvdW50KCkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBjb250aW51ZUNvbnN1bWluZygpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYW51cCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3ZnL1NWR1BhdGhQYXJzZXIuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAppbmRleCA3
Njc5YTk1Li4wOTYxMzFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgK
KysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNp
bmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnLmgiCiAjaW5j
bHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
U1ZHUGF0aFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoUGFyc2Vy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoUGFyc2VyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aFBhcnNlcigpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNl
LmgKaW5kZXggZDFhNjE0OS4uNzdiZjlmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaApAQCAtMjUsOCArMjUs
MTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoU291cmNlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhTb3VyY2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR1BhdGhTb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgp
IHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmgKaW5kZXggZGQ0NjZlZi4uOGRjYzU4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmll
d1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAg
Y2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNW
R1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU1ZHVmlld1Nw
ZWMoU1ZHRWxlbWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggYzk4MDRh
ZS4uZThhMDY1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3Bw
CisrKyBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtNTUsNyArNTUsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDog
cHVibGljIEVtcHR5Q2hyb21lQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
SW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQ2hyb21lQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHSW1hZ2VDaHJvbWVDbGllbnQoU1ZHSW1hZ2UqIGltYWdl
KQogICAgICAgICA6IG1faW1hZ2UoaW1hZ2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYmF1ZGlv
L1JlYWx0aW1lQW5hbHlzZXIuaCBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5o
CmluZGV4IDY4NmMxN2MuLmNjNzkxZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2ViYXVkaW8vUmVh
bHRpbWVBbmFseXNlci5oCisrKyBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5o
CkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZsb2F0MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7
CiAjZW5kaWYKIAotY2xhc3MgUmVhbHRpbWVBbmFseXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBSZWFsdGltZUFuYWx5c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFs
dGltZUFuYWx5c2VyKTsKIHB1YmxpYzoKICAgICBSZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmly
dHVhbCB+UmVhbHRpbWVBbmFseXNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRz
L1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAwNWIzNzY3Li44ZjNmMTU1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9X
ZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsOCArNDIsMTAgQEAgY2xhc3MgS1VS
TDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50OwogCi1jbGFzcyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwpOwogcHVibGljOgorICAg
IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgeyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHBy
b3RvY29sKTsKIAogICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0KCkgPSAwOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggOWM1MjM3Ny4uYTM5Y2QwZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCiAgICAgY2xhc3MgV2Vi
U29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlNvY2tldENoYW5uZWw+LCBwdWJs
aWMgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQs
IGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7
IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1
ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVz
dC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGlj
OgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBG
YWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi45ZjBiMDFhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
aAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdv
cmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDog
cHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJs
aWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgV2ViU29ja2V0Q2hh
bm5lbENsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBLVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCiAgICAgewpAQCAtNzcsNyArNzgsOCBAQCBwcm90
ZWN0ZWQ6CiBwcml2YXRlOgogICAgIC8vIEdlbmVyYXRlZCBieSB0aGUgYnJpZGdlLiAgVGhlIFBl
ZXIgYW5kIGl0cyBicmlkZ2Ugc2hvdWxkIGhhdmUgaWRlbnRpY2FsCiAgICAgLy8gbGlmZXRpbWVz
LgotICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNvY2tldENoYW5uZWxD
bGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGVlciogY3JlYXRlKFJl
ZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbENsaWVudFdyYXBwZXI+IGNsaWVudFdyYXBw
ZXIsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25z
dCBTdHJpbmcmIHByb3RvY29sKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBiL1dlYkNvcmUvd29ya2Vycy9EZWZh
dWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmluZGV4IDIxZTE0YTEuLjQ5MDJhZDcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCisr
KyBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCkBAIC0z
Niw3ICszNiw2IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTMsNyArNTIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyUHJveHk7CiAKICAgICAvLyBQ
bGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2hhcmVkV29ya2VyUmVwb3Np
dG9yeSBzdGF0aWMgaW50ZXJmYWNlLgotICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlZmF1bHRTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9h
ZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2Ny
aXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4p
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAg
IC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIg
dGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2Vy
dmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
aCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2Uu
LjRkZTkwZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3
ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3Jr
ZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBw
dWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1Ymxp
YyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3Jr
ZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3Jr
ZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtlck1lc3NhZ2luZ1Byb3h5KFdvcmtlciop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAgYi9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggODNmMjQzZi4uN2IzMTQ5YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCisrKyBiL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcApAQCAtMTA0LDcgKzEwNCw4IEBAIFN0cmluZyBXb3Jr
ZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi1jbGFz
cyBSdW5Mb29wU2V0dXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFNldHVw
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29wU2V0dXApOwogcHVibGljOgogICAg
IFJ1bkxvb3BTZXR1cChXb3JrZXJSdW5Mb29wJiBydW5Mb29wKQogICAgICAgICA6IG1fcnVuTG9v
cChydW5Mb29wKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKaW5kZXggOWQ0ZWRmZC4uM2ZlYjRlOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAorKysgYi9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCkBAIC02NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRNb2RlKCk7CiAKLSAgICAgICAg
Y2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxU
YXNrPiBjcmVhdGUoUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNr
LCBjb25zdCBTdHJpbmcmIG1vZGUpOwogICAgICAgICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5jcHAKaW5kZXggZjYxMTIwZS4uOWNkNGQ1YiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgi
CiAKICNpbmNsdWRlIDx1dGlsaXR5PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aWYgRU5BQkxFKERBVEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgpAQCAtNjEsNyAr
NjAsOCBAQCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKICAgICBy
ZXR1cm4gbV90aHJlYWRDb3VudDsKIH0KIAotc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVh
ZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcAppbmRleCA2MTAzNzAzLi5mZGE3NzQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBA
IC02NSw3ICs2NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBXVEY6OlJlZkNvdW50
ZWRMZWFrQ291bnRlciB4bWxIdHRwUmVxdWVzdENvdW50ZXIoIlhNTEh0dHBSZXF1ZXN0Iik7CiAj
ZW5kaWYKIAotc3RydWN0IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSA6IE5vbmNvcHlhYmxlIHsK
K3N0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBtX3By
b3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oCmluZGV4IDA5OGUxOWYuLjU2MThlM2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQs
NiArNDQsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxv
YWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRw
UmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxIdHRwUmVxdWVzdD4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBY
TUxIdHRwUmVxdWVzdChjb250ZXh0KSk7IH0KICAgICB+WE1MSHR0cFJlcXVlc3QoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaCBiL1dlYkNvcmUveG1sL1hQ
YXRoRXhwcmVzc2lvbk5vZGUuaAppbmRleCBjMDRkNDViLi45M2ZiODU5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhF
eHByZXNzaW9uTm9kZS5oCkBAIC0zOSw3ICszOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAgICAgICAgIAotICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlv
bkNvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250
ZXh0IHsKKyAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5vZGU7CiAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nIHNpemU7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBvc2l0aW9uOwpAQCAtNTMs
NyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIH5QYXJz
ZU5vZGUoKSB7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBFeHByZXNzaW9uIDogcHVi
bGljIFBhcnNlTm9kZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXhwcmVz
c2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRXhwcmVzc2lvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94
bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uNjE5ZDkxYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgK
QEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQ
YXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBOb2RlU2V0KCkgOiBtX2lzU29ydGVk
KHRydWUpLCBtX3N1YnRyZWVzQXJlRGlzam9pbnQoZmFsc2UpIHsgfQogICAgICAgICAgICAgCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oIGIvV2ViQ29yZS94bWwvWFBhdGhQ
YXJzZXIuaAppbmRleCA0NGE4ZTQ4Li40MGI3M2RjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9Y
UGF0aFBhcnNlci5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKQEAgLTU4LDcgKzU4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgVG9rZW4oaW50IHQsIEVxVGVz
dE9wOjpPcGNvZGUgdik6IHR5cGUodCksIGVxb3Aodikge30KICAgICAgICAgfTsKIAotICAgICAg
ICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQYXJz
ZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2VyKTsKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgUGFyc2VyKCk7CiAgICAgICAgICAgICB+UGFyc2VyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oIGIvV2ViQ29yZS94bWwvWFBh
dGhQcmVkaWNhdGUuaAppbmRleCA1ZjI0ODJhLi4zNjAwMTU0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgK
QEAgLTEwNSw3ICsxMDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNl
dFZhbHVlOyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgUHJlZGljYXRlIHsKKyAgICAgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFByZWRpY2F0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQcmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAg
ICAgICAgICAgflByZWRpY2F0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhTdGVw
LmggYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAppbmRleCBlYzAyMmIzLi5iMDMxYmFmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFN0
ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xh
c3MgUHJlZGljYXRlOwogICAgICAgICAKLSAgICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJz
ZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMg
UGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXApOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBB
eGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywg
QXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
ICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgICAgICBlbnVtIEtpbmQgewog
ICAgICAgICAgICAgICAgICAgICBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2RlVGVzdCwgUHJvY2Vz
c2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVzdApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oIGIvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVs
ZS5oCmluZGV4IGYzYTkzMTguLjVjMGNhOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hTTElt
cG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKQEAgLTM1LDYgKzM1
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2FjaGVkWFNMU3R5bGVTaGVldDsKIAog
Y2xhc3MgWFNMSW1wb3J0UnVsZSA6IHB1YmxpYyBTdHlsZUJhc2UsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFhTTEltcG9ydFJ1bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBw
YXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVmKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktp
dC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI2ZWJhMjEuLmVlNWZmY2MgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEwLTExLTI2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCBy
aWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAg
SW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRp
bmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisg
ICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRh
dGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2Uu
aCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJs
ZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KIAogICAgICAgICAqIFN0cmluZ3NOb3RUb0JlTG9jYWxpemVkLnR4dDogVXBkYXRlZCBmb3Ig
cmVjZW50IGNoYW5nZXMuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2Jq
ZWN0LmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4u
NDNkYjc5ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaApAQCAtMzIsMTQgKzMyLDE0IEBA
CiAjZGVmaW5lIEJvdW5kT2JqZWN0X2gKIAogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBCb3VuZE9iamVjdCBp
cyBhIGhlbHBlciBjbGFzcyB0aGF0IGxldHMgeW91IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxs
cwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3ll
ZCBvbmNlIEpTIG9iamVjdCBpcwogLy8gYnVpbHQuCi1jbGFzcyBCb3VuZE9iamVjdCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBCb3VuZE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQm91bmRPYmplY3QpOwogcHVibGljOgogICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8
djg6OkNvbnRleHQ+IGNvbnRleHQsIHZvaWQqIHY4VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFt
ZSk7CiAgICAgdmlydHVhbCB+Qm91bmRPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9E
ZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXggMDg2MGNiMS4uNTljMjE3NyAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKQEAgLTQwLDcgKzQwLDYg
QEAKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC01NSw3ICs1NCw4IEBAIGJvb2wgRGVidWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3Nl
VjhEZWJ1Z2dlclByb3RvY29sID0gZmFsc2U7CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxl
cklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGlj
OgogICAgIENhbGxlcklkV3JhcHBlcigpIDogbV9jYWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9j
YWxsZXJJZCgwKSB7IH0KICAgICBleHBsaWNpdCBDYWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklk
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5o
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3
MTQuLmI3ODU2Y2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2Vu
dE1hbmFnZXIuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2Vy
LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTYzLDcgKzYyLDggQEAgY2xhc3MgV2ViVmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qg
c29tZSBhY3Rpb25zIGZyb20gdGhlIGhhbmRsZXIuIElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRl
CiAvLyBkZWJ1Z2dlciBhZ2VudCB0byBoYW5kbGUgc3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3
aWxsIHBlcmZvcm0gdGhlIGFjdGlvbgogLy8gaXRzZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcg
d2FpdGluZyBmb3IgdGhlIGFjdGlvbi4KLWNsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEZWJ1Z2dlckFnZW50TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgZGVidWdBdHRhY2goRGVidWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwog
ICAgIHN0YXRpYyB2b2lkIGRlYnVnRGV0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFn
ZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbC5oCmluZGV4IGZjMjFmM2UuLjA1OTZjYWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1
bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaApAQCAtMzIsNyArMzIsNiBAQAogI2Rl
ZmluZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGxfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OwpAQCAtNDQsOCArNDMs
OCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7
CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsK
K2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNw
ZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsKTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dEltcGwoV2ViQ29yZTo6UGFnZSosIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZU
b29sc0Zyb250ZW5kSW1wbCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50
SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApp
bmRleCA4ODBhZGI0Li4wMjI2ZWYzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRldlRvb2xzQWdlbnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRv
b2xzQWdlbnRJbXBsLmNwcApAQCAtNTgsNyArNTgsNiBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGll
bnQuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGlt
ZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KIAogdXNpbmcgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKaW5kZXggODY2YTFjYi4uYjA4NTMzOCAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaApAQCAtMzYs
NyArMzYsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgpAQCAtNTUsOCArNTQsOCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdl
RGF0YTsKIAogdXNpbmcgV1RGOjpTdHJpbmc7CiAKLWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJ
bXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNG
cm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAg
ICAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwoCiAgICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwq
IHdlYlZpZXdJbXBsLApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDQ0MjJl
MWIuLjI2Yjk2YmMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4MCw3
ICsyODAsOCBAQCBXZWJQbHVnaW5Db250YWluZXJJbXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNv
bnRhaW5lckZyb21GcmFtZShGcmFtZSogZnJhbWUpCiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVy
cmlkZSBzb21lIG9mIFByaW50Q29udGV4dCBiZWhhdmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwog
Ly8gbWFkZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBs
dWdpblByaW50Q29udGV4dC4KLWNsYXNzIENocm9tZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmlu
dENvbnRleHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQg
OiBwdWJsaWMgUHJpbnRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQ
cmludENvbnRleHQpOwogcHVibGljOgogICAgIENocm9tZVByaW50Q29udGV4dChGcmFtZSogZnJh
bWUpCiAgICAgICAgIDogUHJpbnRDb250ZXh0KGZyYW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBv
cHVwTWVudUltcGwuaAppbmRleCAyMjFiYTAzLi4xZTkyNDc0IDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiArNTYsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIGNs
YXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMgV2ViUG9wdXBNZW51LAogICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpGcmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LAog
ICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudUlt
cGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICAvLyBXZWJX
aWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJi
YWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNs
dWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFz
cyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4
IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3Bw
IGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUy
NmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAor
KysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYg
QEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgot
I2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
SW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAg
KiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAK
LWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VI
YW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxl
LmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9t
YWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyAr
MzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6
RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFs
dWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBk
YXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpT
Qzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVj
dE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dl
YktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzcz
OS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldl
YkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xp
ZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRk
NGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9X
ZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zh
c3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0
Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUg
PHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlh
bnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3
IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dp
bi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgK
ICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWlu
ZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJ
QU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAg
c3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBl
Jik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2lu
L0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253
bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRl
PHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3Ry
aW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFz
cyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlC
YWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3Bl
cnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBl
LCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJL
aXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAg
ICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
IGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgx
ZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9X
ZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGlj
IGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4g
IXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6
IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFz
ZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERh
dGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBT
X09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNo
VG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0
eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVj
dG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTgg
MTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9X
ZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9o
CiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Y2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0
b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3Bl
Y3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyop
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9X
ZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlh
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBi
L1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBz
dGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVy
biBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
aXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0
cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBm
MDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgK
KysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdl
YlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxk
IHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0YXRp
YyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2Vi
U2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgK
aW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxp
emVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAt
MzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxp
emVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMg
SVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVi
bGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3Rh
bmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcu
LjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyAr
MzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0
ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29w
eWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGlj
OgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0
YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IGVmNGM5MmEuLmUwODE2MzMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjYgIFpv
bHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5k
IEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9j
QmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0
NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhl
cml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUu
aCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTI0
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBp
bXBsaWNpdGx5IGJ5IEpvaG4gU3VsbGl2YW4uCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmlu
YXJ5U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBC
aW5hcnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1
bGUuaCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRm
b3JtL01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5l
IE1vZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBw
dWJsaWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxh
dGZvcm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1No
YXJlZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAj
ZGVmaW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAK
QEAgLTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0g
ICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBI
YW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYg
QEAKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgog
I2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdp
dCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQ
cm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OwogICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQ
bHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hp
bGRQcm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0
Li44YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysg
Yi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVm
aW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFBy
b2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQ
cm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFy
ZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1
Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIu
aAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgK
QEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9Q
bHVnaW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJM
RShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9T
YW5kYm94RXh0ZW5zaW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRi
b3hFeHRlbnNpb24uaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9u
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0
b3JXaW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRv
dy5oCmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZp
bmRJbmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2lt
cG9ydCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2lt
cG9ydCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVm
MmUyLi4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9D
RVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAg
LTQxLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJv
eHk7CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2Vy
IDogTm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5
Ni4uOWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1
Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9Q
bHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4g
UGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3Rv
cmllczsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1
YmxpYzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktp
dDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDVi
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysr
IGIvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEs
MTMgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNs
YXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlu
a1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVy
KTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQq
KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5o
IGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTgu
LjhiMDAzMzMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxv
YWQuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1
NCw2IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6
Ok1lc3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3du
bG9hZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRl
KHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwog
ICAgIH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fk
cy9Eb3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxv
YWRNYW5hZ2VyLmgKaW5kZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
UmVzb3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OUEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvbnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzks
OCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAK
IC8vIE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xh
c3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBK
U09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBK
U09iamVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRp
bWVPYmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bk1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisr
KyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5l
Y3Rpb25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAg
Ci1jbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7Citj
bGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4
NGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVy
LmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAt
MjksNyArMjksNiBAQAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92
ZXJsYXkuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCBmYmQwOTQyLi40
YTZlNGQ0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0
b3IuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAt
MzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKaW5kZXggNTVjZWRhZS4uNDMxMDVhMSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEwLTExLTI2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5v
bmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBm
cm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChi
dWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RB
bGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3Zl
IE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4K
KworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVk
LgorCiAyMDEwLTExLTI0ICBOaWNvbGFzIER1ZnJlc25lICA8bmljb2xhcy5kdWZyZXNuZUBjb2xs
YWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpAQCAt
MTk2NzMsNyArMTk2ODUsNyBAQAogCiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRz
Y2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8KgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFy
ZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0
IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KIAogICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcDoKICAgICAgICAgKE5Q
UF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9G
b3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0x
ICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5o
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCmlu
ZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAgLTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1
ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAgdHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4g
Q3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3VuZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2Ny
aXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkgYWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMr
KyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQqIHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENw
cEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3BwQm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAg
Y2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCmluZGV4IGUx
NDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRl
ICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNBZ2VudENsaWVudC5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBAIHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VE
YXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2Vu
dCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQKLSAgICAgICAgICAgICAg
ICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6
IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVibGljOgogICAgIERSVERldlRvb2xzQWdl
bnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmlu
ZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaApAQCAtMzQsNyArMzQsNiBAQAog
I2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3MuaCIKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5j
bHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBA
IC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7
CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNG
cm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29s
c0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0Ns
aWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCos
IFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdh
dGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29u
dHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RO
YXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVibGljOgogCiAvLyBU
ZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNs
b3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2
aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdh
dGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9u
Q29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmln
YXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJU
LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xE
UlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIg
KzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNs
dWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEgZm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVj
dCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGljOgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0
ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVz
LmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3Qg
cHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaAppbmRleCBlNTA4ODZiLi41
MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4LDkgKzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhl
bWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2luL1dlYlRoZW1lRW5naW5lLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGlj
IFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJU
aGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURSVCk7CiBwdWJsaWM6CiAgICAgV2ViVGhl
bWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0
L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmlu
ZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRl
c3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRv
dy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKICNpbmNsdWRl
IDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoKICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhv
c3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHND
b250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5o
CmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQ
SVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9U
ZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5o
PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAog
Y2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVz
dHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFy
ZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5o
CmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDExICsyNywxMCBAQAogI2RlZmluZSBUZXN0SW52
b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2Nh
dGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7CiBwdWJs
aWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3QgY2hhciopOwogICAgIH5UZXN0SW52b2NhdGlv
bigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75113</attachid>
            <date>2010-11-30 01:29:29 -0800</date>
            <delta_ts>2010-12-06 07:41:43 -0800</delta_ts>
            <desc>updated proposed patch rc</desc>
            <filename>kedd2.patch</filename>
            <type>text/plain</type>
            <size>327649</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjA5NzE3MDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBTdGF0aWNWYWx1ZUVudHJ5KEpTT2Jq
ZWN0R2V0UHJvcGVydHlDYWxsYmFjayBfZ2V0UHJvcGVydHksIEpTT2JqZWN0U2V0UHJvcGVydHlD
YWxsYmFjayBfc2V0UHJvcGVydHksIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQog
ICAgICAgICA6IGdldFByb3BlcnR5KF9nZXRQcm9wZXJ0eSksIHNldFByb3BlcnR5KF9zZXRQcm9w
ZXJ0eSksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNDUsNyArNDcsOSBAQCBz
dHJ1Y3QgU3RhdGljVmFsdWVFbnRyeSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiB9OwogCi1zdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFN0YXRpY0Z1bmN0aW9uRW50cnkoSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIF9jYWxsQXNGdW5jdGlvbiwgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAgICAgICAgIDogY2FsbEFzRnVuY3Rpb24oX2NhbGxBc0Z1
bmN0aW9uKSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC02Miw3ICs2Niw5IEBA
IHN0cnVjdCBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNzIChKU0NsYXNzKSBp
cyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGFueSBj
b250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMgc3RydWN0dXJlIGhv
bGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3JvdXBzLgotc3RydWN0
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE9w
YXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4
Y2E4Li5kNmRlNDI2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0
ODAsOSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LXN0cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEpCiAgICAgICAgIDogcmVmQ291bnQoMCkKICAgICAgICAgLCBnbG9iYWxEYXRh
KGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggOGM2ODVjZC4uNWY2YWIzMSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTExLTMwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUg
YW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUg
RmFzdEFsbG9jQmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAg
ICAgKiB3dGYvTm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1w
bGVtZW50YXRpb24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IEFkZCBOb25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50
YXRpb24uCisKIDIwMTAtMTEtMjkgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNv
bT4KIAogICAgICAgICBXaW5kb3dzIGJ1aWxkIGZpeCAocGFydCAxKS4gVXNlIGNvcnJlY3QgZW52
aXJvbm1lbnQgdmFyaWFibGUgc3ludGF4IGluIGNtZCBmaWxlcy4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0K
aW5kZXggZjc4MDZiNC4uZDM1NDlmMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvR05VbWFr
ZWZpbGUuYW0KKysrIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ2Nyw3ICs0
NjcsNiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlKYXZhU2NyaXB0Q29yZS93dGYv
TUQ1LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBcCiAJSmF2YVNjcmlw
dENvcmUvd3RmL05vbkNvcHlpbmdTb3J0LmggXAotCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5
YWJsZS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENv
cmUvd3RmL051bGxQdHIuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmggXApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaSBiL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKaW5kZXggZGViMzZmYi4uYWQ5OTc1MCAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCkBAIC0zOTgsNyArMzk4LDYgQEAKICAgICAgICAgICAg
ICd3dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVzc2FnZVF1ZXVlLmgnLAog
ICAgICAgICAgICAgJ3d0Zi9Ob25Db3B5aW5nU29ydC5oJywKLSAgICAgICAgICAgICd3dGYvTm9u
Y29weWFibGUuaCcsCiAgICAgICAgICAgICAnd3RmL05vdEZvdW5kLmgnLAogICAgICAgICAgICAg
J3d0Zi9Pd25BcnJheVB0ci5oJywKICAgICAgICAgICAgICd3dGYvT3duRmFzdE1hbGxvY1B0ci5o
JywKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYv
V1RGLnZjcHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RG
LnZjcHJvagppbmRleCAzNjA5OTM5Li4xMDhlYmVmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC02NTQsMTAgKzY1NCw2
IEBACiAJCQk+DQogCQk8L0ZpbGU+DQogCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
d3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCiAJCQlSZWxh
dGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb25Db3B5aW5nU29ydC5oIg0KIAkJCT4NCiAJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBhMWUxYzVjLi4wYTcyYzgyIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTQ0NCw3ICs0NDQsNiBAQAogCQlCQzE4QzQzQzBFMTZGNUNEMDBCMzQ0NjAgLyogTWF0aE9iamVj
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4
NkIwMjU1NTk3RDAxRkY2MEY3IC8qIE1hdGhPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRTBFMTZGNUNEMDBCMzQ0NjAgLyog
TWVzc2FnZVF1ZXVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMUVFNzk4QjBENkNBNTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0M0YwRTE2RjVD
RDAwQjM0NDYwIC8qIE5vZGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNjkyQTg2RTAyNTU1OTdEMDFGRjYwRjcgLyogTm9kZXMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OwotCQlCQzE4QzQ0MDBFMTZGNUNEMDBCMzQ0NjAg
LyogTm9uY29weWFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzMDNGNTY5MDk5MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDQxMEUxNkY1
Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwQzMwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJl
ckNvbnN0cnVjdG9yLmggKi87IH07CiAJCUJDMThDNDQyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1i
ZXJDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDMjY4MEU2MEUxNkQ1MjMwMEEwNkU5MiAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5s
dXQuaCAqLzsgfTsKIAkJQkMxOEM0NDMwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlck9iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NzEw
MjU1NTk3RDAxRkY2MEY3IC8qIE51bWJlck9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NzksNyArODc4LDYgQEAKIAkJOTA1QjAyQUQw
RTI4NjQwRjAwNkRGODgyIC8qIFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MEQzNDY5QjBFMjg1MjgwMDA5NDkyRUUgLyogUmVm
Q291bnRlZExlYWtDb3VudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
ZkNvdW50ZWRMZWFrQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjU2NzA5OTExOEZBMDBBRDcxQjggLyogT3duUHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE93blB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5MzAzRjU2
OTA5OTExOTAwMDBBRDcxQjggLyogTm9uY29weWFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTm9uY29weWFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTMwM0Y1QTQwOTkxMUE1ODAwQUQ3MUI4IC8qIE93bkFycmF5UHRyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE93bkFycmF5UHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXJzZXJBcmVuYS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDUyQzMzMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJB
cmVuYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXJzZXJBcmVuYS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUyMiw3ICsxNTIwLDYgQEAKIAkJCQk1MTFG
QzRDQTExN0VFMkE4MDA0MjUyNzIgLyogTUQ1LmggKi8sCiAJCQkJRTFFRTc5OEIwRDZDQTUzRDAw
RkVBM0JBIC8qIE1lc3NhZ2VRdWV1ZS5oICovLAogCQkJCTY1RTFBMkY0MTIyQjg4MEQwMEIyNjA5
NyAvKiBOb25Db3B5aW5nU29ydC5oICovLAotCQkJCTkzMDNGNTY5MDk5MTE5MDAwMEFENzFCOCAv
KiBOb25jb3B5YWJsZS5oICovLAogCQkJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUxNSAvKiBOb3RG
b3VuZC5oICovLAogCQkJCTkzM0Y1Q0RCMTI2OTIyNjkwMDQ5MTkxRSAvKiBOdWxsUHRyLmggKi8s
CiAJCQkJOTMwM0Y1QTQwOTkxMUE1ODAwQUQ3MUI4IC8qIE93bkFycmF5UHRyLmggKi8sCkBAIC0y
MjExLDcgKzIyMDgsNiBAQAogCQkJCTdFRkYwMDY0MEVDMDVBOUEwMEFBN0M5MyAvKiBOb2RlSW5m
by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0M0YwRTE2RjVDRDAwQjM0NDYwIC8qIE5vZGVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUUxQTNERjEyMkI4OTQ1MDBCMjYwOTcgLyogTm9uQ29w
eWluZ1NvcnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAv
KiBOb25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBBMjcyNjMwRTUwQTA2MzAwRTk2
RTE1IC8qIE5vdEZvdW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQ0MTBFMTZGNUNEMDBC
MzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQy
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICov
LApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3Nl
bWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVy
LmgKaW5kZXggMWZhNWVjNy4uNDQyNzk1NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNs
dWRlICJDb2RlTG9jYXRpb24uaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0u
aD4KIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTGlua0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaAppbmRleCBlMWRjYTBiLi40OTI0OTQxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgRFVNUF9DT0RFIDAKIAogI2luY2x1
ZGUgPE1hY3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogCkBAIC01MCw3ICs0OSw4IEBAIG5hbWVzcGFjZSBKU0MgewogLy8gICAq
IFRoZSBhZGRyZXNzIG9mIGEgTGFiZWwgcG9pbnRpbmcgaW50byB0aGUgY29kZSBtYXkgYmUgcmVz
b2x2ZWQuCiAvLyAgICogVGhlIHZhbHVlIHJlZmVyZW5jZWQgYnkgYSBEYXRhTGFiZWwgbWF5IGJl
IHNldC4KIC8vCi1jbGFzcyBMaW5rQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IExpbmtCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExpbmtCdWZmZXIpOwogICAg
IHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIENvZGVSZWY7CiAgICAgdHlwZWRlZiBNYWNy
b0Fzc2VtYmxlckNvZGVQdHIgQ29kZVB0cjsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyOjpM
YWJlbCBMYWJlbDsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNo
QnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5oCmluZGV4
IDcyY2Y2YjIuLmU1YTZlMmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9S
ZXBhdGNoQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNsdWRl
IDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRleCA3ZWNhNzJh
Li4xZjVjYzE0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaApAQCAtMjQyLDcgKzI0
Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNlbmRpZgogCi0gICAgY2xhc3MgQ29kZUJs
b2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIENvZGVCbG9jayB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwog
ICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG93bmVy
RXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxTb3VyY2VQ
cm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxl
LCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc4LDcgKzU3OSwxMCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgICAgICBTeW1ib2xUYWJsZSogbV9zeW1ib2xUYWJsZTsKIAotICAgICAgICBzdHJ1
Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAg
ICAgcHVibGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhh
bmRsZXJzOwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRU
b0J5dGVjb2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAg
ICB9OworICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsK
ICAgICB9OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlv
bi5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1
Li5mMDc3Y2JmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlv
bi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcg
KzU0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAg
ICAvLyBTdHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRf
YnlfaWRfcHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9w
Y29kZSBzdHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6
IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxp
c3QgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAg
ICAgIHN0cnVjdCBQb2x5bW9ycGhpY1N0dWJJbmZvIHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFp
bjsKICAgICAgICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5l
VHlwZSBzdHViUm91dGluZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Nh
bXBsaW5nVG9vbC5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKaW5k
ZXggOGUzZWQ5ZS4uOWNhNTRkYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
U2FtcGxpbmdUb29sLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29s
LmgKQEAgLTE0Miw3ICsxNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgZnJpZW5kIGNs
YXNzIEhvc3RDYWxsUmVjb3JkOwogICAgICAgICAKICNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5H
KQotICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAg
ICAgY2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShD
YWxsUmVjb3JkKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1w
bGluZ1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAgICAgICAgICAgICA6IG1fc2FtcGxpbmdUb29s
KHNhbXBsaW5nVG9vbCkKQEAgLTE3Miw3ICsxNzMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCopCiAgICAgICAgICAgICB7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBi
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IGE5
MGY3NTYuLjFkMmJkMDggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5oCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiU3ltYm9sVGFibGUu
aCIKICNpbmNsdWRlICJEZWJ1Z2dlci5oIgogI2luY2x1ZGUgIk5vZGVzLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9TZWdtZW50ZWRWZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC04
NSw3ICs4NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
cHJvcGVydHlSZWdpc3RlcjsKICAgICB9OwogCi0gICAgY2xhc3MgQnl0ZWNvZGVHZW5lcmF0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQnl0ZWNvZGVHZW5lcmF0b3Igewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5
cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBl
ZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAppbmRleCAzNTMyYWQ4Li43OGQ0OWQy
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKQEAgLTMwLDEyICsz
MCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRy
YWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIFJlZ2lzdGVySUQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVySUQgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVy
SUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKaW5kZXggZGZiZTY1OC4uNzQwMDAxZCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0NhY2hlZENhbGwuaApAQCAtMzIsNyArMzIsOCBAQAogI2luY2x1ZGUgIkludGVy
cHJldGVyLmgiCiAKIG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNzIENhY2hlZENhbGwgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENhY2hlZENhbGwgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDYWNoZWRDYWxsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0
aW9uKiBmdW5jdGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNl
KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBi
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4u
NzUzZDkwZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0
ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3Qu
aCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5j
bHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRo
ID0gMjU2LCBNYXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJ
bnRlcnByZXRlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRl
ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBmcmllbmQgY2xh
c3MgSklUOwogICAgICAgICBmcmllbmQgY2xhc3MgQ2FjaGVkQ2FsbDsKICAgICBwdWJsaWM6CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oIGIvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaAppbmRleCAzOGQxNjQ3Li4zOTQ0NjQyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAog
I2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ3LDcgKzQ2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICB0eXBlZGVmIEV4ZWNTdGF0ZSBDYWxsRnJhbWU7CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1
YmxpYyBXVEY6OkZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3Rlcigp
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUu
aCBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oCmluZGV4IGQ5ZjZh
MmIuLjY4MjIwMzUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lz
dGVyRmlsZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5o
CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlICJXZWFr
R0NQdHIuaCIKICNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYWdlUmVzZXJ2YXRpb24uaD4KICNpbmNsdWRlIDx3dGYvVk1UYWdz
Lmg+CiAKQEAgLTg5LDcgKzg4LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBKU0ds
b2JhbE9iamVjdDsKIAotICAgIGNsYXNzIFJlZ2lzdGVyRmlsZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJGaWxlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVnaXN0ZXJGaWxlKTsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBwdWJsaWM6
CiAgICAgICAgIGVudW0gQ2FsbEZyYW1lSGVhZGVyRW50cnkgewpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApp
bmRleCA0ZDI1MTNkLi43MjU0N2ViIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcs
OCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExl
eGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKExleGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAg
ICAgICAgc3RhdGljIGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuaAppbmRleCA2OTMwZjYzLi5mNDE4MDczIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAt
MTEzLDYgKzExMyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJz
ZXJBcmVuYVJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50
ZWQ+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJvdGVjdGVkOgog
ICAgICAgICBQYXJzZXJBcmVuYVJlZkNvdW50ZWQoSlNHbG9iYWxEYXRhKik7CiAKQEAgLTEzNzQs
NyArMTM3NSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBQYXJhbWV0ZXJOb2RlKiBtX25l
eHQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBTY29wZU5vZGVEYXRhIDogRmFzdEFsbG9jQmFzZSB7
CisgICAgc3RydWN0IFNjb3BlTm9kZURhdGEgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OlZh
clN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5j
dGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CiAKQEAgLTE0NzAsNiArMTQ3Myw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBGdW5jdGlvblBhcmFtZXRlcnMgOiBwdWJsaWMg
VmVjdG9yPElkZW50aWZpZXI+LCBwdWJsaWMgUmVmQ291bnRlZDxGdW5jdGlvblBhcmFtZXRlcnM+
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJO
b2RlKiBmaXJzdFBhcmFtZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1l
dGVycyhmaXJzdFBhcmFtZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5
MDY3Li40NTJhM2UxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAj
aW5jbHVkZSAiUGFyc2VyQXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCAr
NDQsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3Ry
dWN0IFBhcnNlckFyZW5hRGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9Owog
Ci0gICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJz
ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFBhcnNlcigpIHsgfQogICAgICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgUGFyc2VkTm9kZT4KICAgICAgICAgUGFzc1JlZlB0cjxQYXJzZWROb2Rl
PiBwYXJzZShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRGVidWdnZXIqLCBF
eGVjU3RhdGUqLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIEZ1bmN0aW9uUGFyYW1ldGVycyos
IEpTUGFyc2VyU3RyaWN0bmVzcyBzdHJpY3RuZXNzLCBKU09iamVjdCoqIGV4Y2VwdGlvbik7CiAK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oIGIvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKaW5kZXggN2MxODA5ZS4uODJmYjgwOCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFEZWxldGFibGU7CiAgICAgY2xhc3MgUGFyc2Vy
QXJlbmFSZWZDb3VudGVkOwogCi0gICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBj
b25zdCBJZGVudGlmaWVyJiBtYWtlSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBjb25zdCBVQ2hh
ciogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIm
IG1ha2VOdW1lcmljSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBkb3VibGUgbnVtYmVyKTsKQEAg
LTU5LDcgKzYwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBtX2lkZW50aWZp
ZXJzLmxhc3QoKTsKICAgICB9CiAKLSAgICBjbGFzcyBQYXJzZXJBcmVuYSA6IE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQYXJzZXJBcmVuYSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBhcnNlckFyZW5hKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhcnNlckFyZW5hKCk7CiAgICAg
ICAgIH5QYXJzZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3Jl
X2V4ZWMuY3BwIGIvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCmluZGV4IGY0ODk5
ZjIuLjJiYmNjMTEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNw
cAorKysgYi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKQEAgLTQ4LDYgKzQ4LDcg
QEAgdGhlIEphdmFTY3JpcHQgc3BlY2lmaWNhdGlvbi4gVGhlcmUgYXJlIGFsc28gc29tZSBzdXBw
b3J0aW5nIGZ1bmN0aW9ucy4gKi8KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDx3dGYv
QVNDSUlDVHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxzdHJpbmcu
aD4KIAogI2lmIFJFR0VYUF9ISVNUT0dSQU0KICNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KQEAg
LTExMiw3ICsxMTMsOSBAQCBzdHJ1Y3QgQnJhY2tldENoYWluTm9kZSB7CiAgICAgY29uc3QgVUNo
YXIqIGJyYWNrZXRTdGFydDsKIH07CiAKLXN0cnVjdCBNYXRjaEZyYW1lIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgTWF0Y2hGcmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CiAgICAgUmV0dXJuTG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1h
dGNoRnJhbWUqIHByZXZpb3VzRnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2Fs
bElkZW50aWZpZXIuaAppbmRleCA3NmMxNDcwLi5hOTgyN2MwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxs
SWRlbnRpZmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJG
YXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3Qg
Q2FsbElkZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJ
ZGVudGlmaWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgogICAgICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3VybDsKICAgICAg
ICAgdW5zaWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXIuaCBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKaW5k
ZXggZjljMmNjYi4uZjg4NzQ2ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIv
UHJvZmlsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCkBAIC00
NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFVTdHJpbmc7CiAgICAgc3Ry
dWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAgIGNsYXNzIFByb2ZpbGVyIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2ZpbGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUHJvZmlsZXIqKiBlbmFi
bGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FyZ0xpc3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5o
CmluZGV4IGNkNTYzYTIuLjU3ZTNjMjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJnTGlzdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCkBAIC0y
NSwxNCArMjUsMTQgQEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJSZWdpc3Rl
ci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNs
YXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZEFyZ3VtZW50QnVmZmVyKTsKICAgICBwcml2YXRl
OgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSA4OwogICAg
ICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlciwgaW5saW5lQ2FwYWNpdHk+IFZlY3RvclR5cGU7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5mZTkwMGEyIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcgKzMzLDEwIEBACiAKIG5hbWVzcGFj
ZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBOb25jb3B5YWJsZSB7CisgICAg
c3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcmd1
bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgorICAgICAg
ICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsK
IAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRi
MmQxZDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0
aW9uT3B0aW1pemVyLmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNp
dGlvbk9wdGltaXplcl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5h
bWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6
ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNP
YmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29sbGVjdG9yLmgKaW5kZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbGxlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJy
YXkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgpAQCAtODcsNyArODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQog
ICAgIH07CiAKLSAgICBjbGFzcyBIZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBIZWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGlj
OgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
SWRlbnRpZmllcnMuaAppbmRleCAxZTIyYjZhLi5iNTNhZTQzIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENv
bW1vbklkZW50aWZpZXJzX2gKIAogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogLy8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkg
bmFtZXMsIHBhc3NlZCB0byBhIG1hY3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3Vz
CiAvLyB3YXlzIHdpdGhvdXQgcmVwZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAog
CiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgQ29tbW9uSWRlbnRpZmllcnMoSlNHbG9iYWxE
YXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuaAppbmRleCA3ZDQ5MjlkLi43MzYzYWY4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQ2VsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiTWFya1N0
YWNrLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgKaW5kZXggNzE0OTk5Zi4uMGM1YmJlZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuaApAQCAtNDY1LDcgKzQ2NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICByZXR1cm4gbmV3IChleGVjKSBKU0FycmF5KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+
YXJyYXlTdHJ1Y3R1cmUoKSwgdmFsdWVzKTsKICAgICB9CiAKLSAgICBjbGFzcyBEeW5hbWljR2xv
YmFsT2JqZWN0U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIER5bmFtaWNH
bG9iYWxPYmplY3RTY29wZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKER5bmFtaWNH
bG9iYWxPYmplY3RTY29wZSk7CiAgICAgcHVibGljOgogICAgICAgICBEeW5hbWljR2xvYmFsT2Jq
ZWN0U2NvcGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0KiBkeW5hbWljR2xv
YmFsT2JqZWN0KSAKICAgICAgICAgICAgIDogbV9keW5hbWljR2xvYmFsT2JqZWN0U2xvdChjYWxs
RnJhbWUtPmdsb2JhbERhdGEoKS5keW5hbWljR2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNM
b2NrLmgKaW5kZXggMDViMzg4Yy4uNjRkN2E0YyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0xvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIEpTTG9ja19oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
IApAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0gSlNMb2NrQmVo
YXZpb3IgeyBTaWxlbmNlQXNzZXJ0aW9uc09ubHksIExvY2tGb3JSZWFsIH07CiAKLSAgICBjbGFz
cyBKU0xvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEpTTG9jayB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTG9jayk7CiAgICAgcHVibGljOgogICAgICAgICBK
U0xvY2soRXhlY1N0YXRlKik7CiAgICAgICAgIEpTTG9jayhKU0dsb2JhbERhdGEqKTsKQEAgLTg5
LDcgKzg5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgSlNMb2NrQmVoYXZpb3IgbV9s
b2NrQmVoYXZpb3I7CiAKLSAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIHsKKyAgICAgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERyb3BBbGxMb2Nrcyk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIERyb3BBbGxMb2NrcyhFeGVjU3RhdGUqIGV4ZWMpOwogICAgICAgICAgICAgRHJvcEFsbExv
Y2tzKEpTTG9ja0JlaGF2aW9yKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPTk9iamVjdC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmlu
ZGV4IGI1NDc3YTEuLjBiNzIyYjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPTk9iamVjdC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNw
cApAQCAtNzAsNyArNzAsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1ZSBtX3ZhbHVl
OwogfTsKIAotY2xhc3MgU3RyaW5naWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U3RyaW5naWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lmaWVyKTsKIHB1
YmxpYzoKICAgICBTdHJpbmdpZmllcihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxhY2VyLCBKU1Zh
bHVlIHNwYWNlKTsKICAgICB+U3RyaW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTG9va3VwLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCmlu
ZGV4IDliYzgxZDQuLjBkNmQ5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApAQCAtNTMsNyAr
NTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYgdm9pZCAoKlB1dEZ1bmN0aW9uKShFeGVj
U3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSB2YWx1ZSk7CiAKLSAgICBjbGFz
cyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaEVudHJ5
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFyIGF0dHJpYnV0
ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXJrU3RhY2suaAppbmRleCBjNTUxYmFjLi4xMDE4ZTVlIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTWFya1N0YWNrLmgKQEAgLTI3LDcgKzI3LDggQEAKICNkZWZpbmUgTWFya1N0YWNrX2gKIAog
I2luY2x1ZGUgIkpTVmFsdWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworI2lu
Y2x1ZGUgPHN0cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzYsNyArMzcsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAKICAgICBlbnVtIE1hcmtTZXRQcm9wZXJ0aWVzIHsgTWF5Q29u
dGFpbk51bGxWYWx1ZXMsIE5vTnVsbFZhbHVlcyB9OwogICAgIAotICAgIGNsYXNzIE1hcmtTdGFj
ayA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrU3RhY2sgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShNYXJrU3RhY2spOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFya1N0YWNr
KHZvaWQqIGpzQXJyYXlWUHRyKQogICAgICAgICAgICAgOiBtX2pzQXJyYXlWUHRyKGpzQXJyYXlW
UHRyKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rv
ci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IDU4
YWJkZTUuLjE3MTRiZDMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVj
dG9yLmgKQEAgLTMxLDcgKzMxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUmVnRXhw
UHJvdG90eXBlOwogICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGU7CiAKLSAgICBz
dHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlIDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3Ry
dWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNl
dHRpbmdzCiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6
IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBPYmplY3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgK
aW5kZXggMTlkZTkyOS4uOTFmY2YyYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVj
dC5oCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwg
Q2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhw
T2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0
RGF0YSB7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9u
TnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAg
ICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxh
c3RJbmRleCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjM2
MjgyYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAK
ICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAjZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAi
RmFzdEFsbG9jQmFzZS5oIgotCiBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFs
RGF0YTsKQEAgLTMxLDcgKzI5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0
YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hhaW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29w
ZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWlu
Tm9kZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgU2NvcGVDaGFpbk5vZGUoU2NvcGVDaGFpbk5vZGUqIG5leHQsIEpTT2JqZWN0KiBvYmpl
Y3QsIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNPYmplY3QqIGdsb2JhbFRoaXMpCiAgICAgICAgICAgICA6IG5leHQobmV4dCkKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAppbmRleCBmMzU4NzI3Li5jMzM1ZGMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCkBAIC0yOCw3ICsyOCw2IEBA
CiAKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CkBAIC00MCw3ICszOSw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp
c01hcmtlZChKU1N0cmluZyogc3RyaW5nKQogICAgIHJldHVybiBzdHJpbmcgJiYgSGVhcDo6aXND
ZWxsTWFya2VkKHN0cmluZyk7CiB9CiAKLWNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2UgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU21hbGxTdHJpbmdzU3RvcmFnZSk7CiBwdWJsaWM6CiAgICAgU21hbGxT
dHJpbmdzU3RvcmFnZSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRl
eCBkMWViZmIxMy4uYWM4NGZlOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
bWFsbFN0cmluZ3MuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5o
CkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsK
ICAgICBjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlOwogCi0gICAgY2xhc3MgU21hbGxTdHJpbmdz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTbWFsbFN0cmluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNtYWxsU3RyaW5ncygpOwogICAgICAgICB+U21h
bGxTdHJpbmdzKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRh
YmxlLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2
ZC4uMjYzNTUwMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJs
ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYg
KzEyMiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3Ry
aW5nSW1wbD4sIFN5bWJvbFRhYmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRz
PFJlZlB0cjxTdHJpbmdJbXBsPiA+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9s
VGFibGU7CiAKICAgICBjbGFzcyBTaGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJs
ZSwgcHVibGljIFJlZkNvdW50ZWQ8U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJl
ZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAu
aAppbmRleCAzOWE5MWM1Li4yNjgzZDEzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgK
QEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlNDZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0
KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3Ry
dWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4K
LWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01h
cCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgLyoKICAgICBJbnZhcmlhbnRz
OgogICAgICAgICAqIEEgdmFsdWUgZW50ZXJzIHRoZSBXZWFrR0NNYXAgbWFya2VkLiAoR3VhcmFu
dGVlZCBieSBzZXQoKS4pCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtH
Q1B0ci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaAppbmRleCBhYzc3Y2Yz
Li42N2YxMWMzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKQEAgLTI4LDEyICsyOCwx
MiBAQAogCiAjaW5jbHVkZSAiQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21h
cnQgcG9pbnRlciB3aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0
aW5nIGRlc3RydWN0aW9uLgotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6
IE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dD
UHRyKCkKICAgICAgICAgOiBtX3B0cigwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFk
UmVmQ291bnRlZC5oCmluZGV4IDBjMGU5OTcuLjhiNjU5NzcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgLy8gd2l0aCByZXNwZWN0IHRvIHRoZSBvcmlnaW5hbCBhbmQgYW55IG90aGVyIGNv
cGllcy4gIFRoZSB1bmRlcmx5aW5nIG1fZGF0YSBpcyBqb2ludGx5CiAgICAgLy8gb3duZWQgYnkg
dGhlIG9yaWdpbmFsIGluc3RhbmNlIGFuZCBhbGwgY29waWVzLgogICAgIHRlbXBsYXRlPGNsYXNz
IFQ+Ci0gICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDcm9zc1RocmVhZFJlZkNvdW50ZWQpOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q3Jvc3NUaHJlYWRSZWZDb3VudGVkPFQ+ID4gY3JlYXRlKFQqIGRh
dGEpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKaW5kZXggY2I4NDcwOC4uNzk0YmE3YSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvd3RmL0RhdGVNYXRoLmgKQEAgLTQ2LDcgKzQ2LDYgQEAKICNpbmNsdWRlIDxzdHJpbmcu
aD4KICNpbmNsdWRlIDx0aW1lLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAK
IG5hbWVzcGFjZSBXVEYgewpAQCAtMTE2LDcgKzExNSw5IEBAIGRvdWJsZSBwYXJzZURhdGVGcm9t
TnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0ZSosIGNvbnN0IGNoYXIqIGRhdGVTdHJp
bmcpCiAKIC8vIEludGVudGlvbmFsbHkgb3ZlcnJpZGRpbmcgdGhlIGRlZmF1bHQgdG0gb2YgdGhl
IHN5c3RlbS4KIC8vIFRoZSBtZW1iZXJzIG9mIHRtIGRpZmZlciBvbiB2YXJpb3VzIG9wZXJhdGlu
ZyBzeXN0ZW1zLgotc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDogTm9uY29weWFibGUgeworc3Ry
dWN0IEdyZWdvcmlhbkRhdGVUaW1lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmVnb3Jp
YW5EYXRlVGltZSk7CitwdWJsaWM6CiAgICAgR3JlZ29yaWFuRGF0ZVRpbWUoKQogICAgICAgICA6
IHNlY29uZCgwKQogICAgICAgICAsIG1pbnV0ZSgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL0RlcXVlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAppbmRleCA3NDVlMGI2
Li4xYjE2YWZjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgV1RG
IHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBEZXF1ZUNvbnN0UmV2ZXJzZUl0ZXJh
dG9yOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBjbGFzcyBEZXF1ZSA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBEZXF1ZSB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9y
PFQ+IGl0ZXJhdG9yOwogICAgICAgICB0eXBlZGVmIERlcXVlQ29uc3RJdGVyYXRvcjxUPiBjb25z
dF9pdGVyYXRvcjsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNl
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUuLmI2
YTUzNDYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaApAQCAtMzIsOCArMzIsOCBAQAog
Ly8gUHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBmYXN0TWFsbG9jL2Zhc3RGcmVl
IGFuZCBvcGVyYXRvciBuZXcvZGVsZXRlCiAvLwogLy8gUHJvdmlkZWQgZnVuY3Rpb25hbGl0eToK
Ky8vICAgIE1hY3JvOiBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogLy8gICAgbmFtZXNwYWNlIFdU
RiB7Ci0vLyAgICAgICAgY2xhc3MgRmFzdEFsbG9jQmFzZTsKIC8vCiAvLyAgICAgICAgVCogICAg
ZmFzdE5ldzxUPigpOwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oYXJnKTsKQEAgLTQ4LDcg
KzQ4LDEwIEBACiAvLyBGYXN0RGVsZXRlIGFzc3VtZXMgdGhhdCB0aGUgdW5kZXJseWluZwogLy8K
IC8vIEV4YW1wbGUgdXNhZ2U6Ci0vLyAgICBjbGFzcyBXaWRnZXQgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7IC4uLiB9OworLy8gICAgY2xhc3MgV2lkZ2V0IHsKKy8vICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAorLy8gICAgLi4uCisvLyAgICB9OwogLy8KIC8vICAgIGNoYXIqIGNoYXJQ
dHIgPSBmYXN0TmV3PGNoYXI+KCk7CiAvLyAgICBmYXN0RGVsZXRlKGNoYXJQdHIpOwpAQCAtODUs
NDIgKzg4LDYgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLSNkZWZpbmUgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQgXAotcHVibGljOiBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9p
ZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2
b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNp
emVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxv
YyhzaXplKTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9j
KHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCi0gICAgICAgIHJldHVy
biBwOyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHAp
IFwKLSAgICB7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShw
LCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAgICA6OldURjo6
ZmFzdEZyZWUocCk7IFwKLSAgICB9IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10o
c2l6ZV90IHNpemUpIFwKLSAgICB7IFwKLSAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFs
bG9jKHNpemUpOyBcCi0gICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxv
YyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0gICAgICAg
IHJldHVybiBwOyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10o
dm9pZCogcCkgXAotICAgIHsgXAotICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlk
YXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0g
ICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKLSAgICB9IFwKLXByaXZhdGU6Ci0KLWNsYXNz
IEZhc3RBbGxvY0Jhc2UgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEICAKLX07Ci0KICAg
ICAvLyBmYXN0TmV3IC8gZmFzdERlbGV0ZQogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CkBA
IC00MTAsNyArMzc3LDYgQEAgY2xhc3MgRmFzdEFsbG9jQmFzZSB7CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgogCi11c2luZyBXVEY6OkZhc3RBbGxvY0Jhc2U7CiB1c2luZyBXVEY6OmZhc3REZWxldGVT
a2lwcGluZ0Rlc3RydWN0b3I7CiAKICNlbmRpZiAvLyBGYXN0QWxsb2NCYXNlX2gKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0hhc2hDb3VudGVkU2V0LmgKaW5kZXggNGVkNzVjNS4uYjk3ZDhjOCAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0hhc2hDb3VudGVkU2V0LmgKQEAgLTIyLDE0ICsyMiwxNCBAQAogI2RlZmluZSBXVEZfSGFz
aENvdW50ZWRTZXRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJIYXNoTWFwLmgiCiAjaW5jbHVkZSAiVmVjdG9yLmgiCiAK
IG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1l
IEhhc2hGdW5jdGlvbnMgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZT46Okhhc2gsCi0gICAg
ICAgIHR5cGVuYW1lIFRyYWl0cyA9IEhhc2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50
ZWRTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9
IEhhc2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50ZWRTZXQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hN
YXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAg
IHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4IDA5MDk0ZDEuLjc3MzE1NDYgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJn
ID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUg
S2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNB
cmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJn
IEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRz
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmgKaW5kZXggNjY2MzllNC4uYmU2YjkzZCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNl
dC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBJZGVudGl0eUV4dHJhY3RvcjsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVB
cmc+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVl
QXJnPiA+IGNsYXNzIEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHR5
cGVuYW1lIFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgSGFzaEFyZyBIYXNoRnVuY3Rpb25zOwogICAgICAgICB0eXBlZGVmIFRyYWl0c0Fy
ZyBWYWx1ZVRyYWl0czsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNl
dC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0YWM0NS4uZTkx
NmVmMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eT4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjsKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBIYXNoQXJn
PiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlSGFzaEZ1bmN0aW9uczsKIAotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhh
c2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RI
YXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZh
bHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAg
dHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2RlOwog
ICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxWYWx1ZUFyZywgaW5saW5l
Q2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
TG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKaW5kZXggNDE4MTNkMy4uN2Rk
YzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEgKzI4LDExIEBACiAjaWZuZGVmIExvY2tl
cl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2VyKTsKIHB1YmxpYzoKICAgICBMb2NrZXIo
VCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xvY2thYmxlLmxvY2soKTsg
fQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0KZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaAppbmRleCAz
Y2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1LmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0zMiw2ICszMiw3IEBACiAjZGVmaW5lIFdU
Rl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01lc3Nh
Z2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAw
YzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYg
QEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNs
dWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtNDgsNyArNDcsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3NhZ2VzIGFyZSBmZXRjaGVkIGZyb20gdGhl
IHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNzYWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVl
IG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0g
ICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBN
ZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNzYWdlUXVldWUp
OwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkg
eyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVkMmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNj
cmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBA
Ci0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq
Ci0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdURl9Ob25jb3B5YWJsZV9oCi0jZGVm
aW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYgX19oYXNfZmVhdHVyZQotICAgICNkZWZp
bmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQotI2lmIF9faGFzX2ZlYXR1cmUoY3h4X2Rl
bGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NO
YW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIpIFwKLSAgICAg
ICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd1bmtub3duLXByYWdtYXNc
IiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdjKysw
eC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZhdGU6IFwKLSAgICAgICAgICAgIENsYXNz
TmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAotICAgICAgICAgICAgQ2xhc3NOYW1l
JiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKLSAgICAgICAgX1ByYWdt
YSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UKLSAgICAjZGVmaW5lIFdURl9NQUtFX05P
TkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBwcml2YXRlOiBcCi0gICAgICAgICAgICBD
bGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAgICAgICAgICAgIENsYXNzTmFtZSYgb3Bl
cmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYKLQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1
bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4gZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYK
LS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29weWFibGUsIHNvIHB1dCBpdCBpbiBpdHMg
b3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNl
IFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5vbmNvcHlhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShjb25zdCBOb25jb3B5YWJsZSYpOwotICAg
ICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJv
dGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsgfQotICAgICAgICB+Tm9uY29weWFibGUo
KSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZQotCi11c2luZyBX
VEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNlbmRpZiAvLyBXVEZfTm9uY29weWFibGVf
aApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBXVEZfT3duQXJy
YXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxl
LmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgi
CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyArMzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NPd25BcnJheVB0cjsKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9wdEFycmF5UHRyKFQqKTsKIAotdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0ciB7CiBwdWJsaWM6CiAgICAg
dHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvT3du
RmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaApp
bmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3du
RmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRy
LmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBPd25GYXN0TWFsbG9jUHRyX2gKIAogI2lu
Y2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZh
c3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPd25GYXN0TWFsbG9j
UHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0IE93bkZhc3RNYWxsb2NQdHIoVCog
cHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCmluZGV4IGNkYzI3N2Mu
LmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgV1RG
X093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFi
bGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5jbHVkZSAiT3duUHRyQ29tbW9uLmgiCiAj
aW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyArMzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duUHRyOwogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQdHIoVCopOwogCi0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewogICAgIHB1YmxpYzoKICAgICAgICAgdHlw
ZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpUeXBlIFZhbHVlVHlwZTsKICAgICAgICAg
dHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNl
M2QuLmRkYzhhMGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0yLDYgKzIsNyBAQAogICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBNb2JpbGUsIEluYy4K
ICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdl
ZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTE4LDQgKzExMTksNjEgQEAK
ICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgogCisvKiBOb25jb3B5YWJsZSdzIGltcGxl
bWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRlZiBfX2hhc19mZWF0dXJlCisgICAgI2Rl
ZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgorCisjaWYgX19oYXNfZmVhdHVyZShjeHhf
ZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFz
c05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwdXNoIikgXAorICAg
ICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3Vua25vd24tcHJhZ21h
c1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV2Mr
KzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJpdmF0ZTogXAorICAgICAgICAgICAgQ2xh
c3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCisgICAgICAgICAgICBDbGFzc05h
bWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAorICAgICAgICBfUHJh
Z21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxzZQorICAgICNkZWZpbmUgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIHByaXZhdGU6IFwKKyAgICAgICAgICAg
IENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAorICAgICAgICAgICAgQ2xhc3NOYW1lJiBv
cGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRpZgorCisvKiBQcm92aWRlcyBjdXN0b21p
emFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9kZWxldGUgKi8KKworI2RlZmluZSBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXco
c2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdb
XShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAorICAgIFwKKyAgICB2b2lkKiBvcGVy
YXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCogcCA9IDo6V1RG
OjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFs
aWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKKyAg
ICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxl
dGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFs
aWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCisgICAg
ICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lkKiBvcGVy
YXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsgXAorICAgICAgICB2b2lkKiBwID0gOjpX
VEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZh
bGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7
IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCBvcGVyYXRv
ciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisgICAgICAgICA6OldURjo6ZmFzdE1hbGxv
Y01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdB
cnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0gXAorcHJpdmF0
ZTogXAordHlwZWRlZiBpbnQgVGhpc0lzSGVyZVRvRm9yY2VBU2VtaWNvbG9uQWZ0ZXJUaGlzTWFj
cm8KKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaApp
bmRleCA4ZDhiMzAyLi5lMDYyMjk0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
Q291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcg
KzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgi
Ci0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAK
IG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMxLDggQEAgaW5saW5lIHZvaWQgYWRvcHRl
ZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMg
UmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2b2lkIGRlcmVmKCkKICAgICB7
CkBAIC0xNDAsNiArMTQxLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJvdGVjdGVkOgorICAgIFJl
ZkNvdW50ZWQoKSB7IH0KICAgICB+UmVmQ291bnRlZCgpCiAgICAgewogICAgIH0KZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQ
dHIuaAppbmRleCA2YWZhODg2Li5iMDdiODk0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCkBAIC0yMyw5ICsy
Myw5IEBACiAjaWZuZGVmIFdURl9SZWZQdHJfaAogI2RlZmluZSBXVEZfUmVmUHRyX2gKIAotI2lu
Y2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAi
UGFzc1JlZlB0ci5oIgorI2luY2x1ZGUgPGFsZ29yaXRobT4KKyNpbmNsdWRlIDx3dGYvRmFzdEFs
bG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtMzYsNyArMzYsOCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKIAogICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSB7IEhhc2hUYWJs
ZURlbGV0ZWRWYWx1ZSB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRy
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNz
IFJlZlB0ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoKSA6IG1fcHRyKDApIHsgfQogICAgICAgICBB
TFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIpIDogbV9wdHIocHRyKSB7IHJlZklmTm90TnVsbChw
dHIpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaAppbmRleCA3ZjZlYmZlLi4zYzA3NmNl
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKQEAgLTQyLDcgKzQyLDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIE1h
cHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnLCB0eXBlbmFt
ZSBNYXBwZWRUcmFpdHNBcmc+Ci0gICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFy
ZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hB
cmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJn
IEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRz
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRo
cmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRz
LmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5k
ZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAjZGVmaW5lIFRocmVhZElkZW50aWZp
ZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAogLy8gSG9sZHMgVGhyZWFk
SWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0b3JhZ2UgYW5kIGVtcGxveXMgcHRo
cmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRvIHJlbGlhYmx5IHJlbW92ZQogLy8g
VGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQgYXNzdW1lcyByZWd1bGFyIFRocmVh
ZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1wYXNzIGRlc3RydWN0aW9uLgotY2xh
c3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhy
ZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZElkZW50
aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRlbnRpZmllckRhdGEoKTsKIApkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXggMzNjNjYxMi4uYTZhMWNmMiAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBAIC02MiwxMiArNjIsMTIgQEAKICNp
bmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5o
PgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgVGhyZWFkU2FmZVNoYXJlZEJhc2UoaW50IGluaXRpYWxSZWZD
b3VudCA9IDEpCiAgICAgICAgIDogbV9yZWZDb3VudChpbml0aWFsUmVmQ291bnQpCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTcGVjaWZpYy5oCmluZGV4IDkzZWQ0NjYuLjExMzdiZDIgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTcGVjaWZpYy5oCkBAIC00MSw3ICs0MSw2IEBACiAjaWZuZGVmIFdURl9UaHJl
YWRTcGVjaWZpY19oCiAjZGVmaW5lIFdURl9UaHJlYWRTcGVjaWZpY19oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFVTRShQVEhSRUFEUykKICNpbmNsdWRlIDxwdGhyZWFk
Lmg+CkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXVEYgewogdm9pZCBUaHJlYWRTcGVjaWZp
Y1RocmVhZEV4aXQoKTsKICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUaHJl
YWRTcGVjaWZpYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBUaHJlYWRTcGVjaWZpYyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU3Bl
Y2lmaWMpOwogcHVibGljOgogICAgIFRocmVhZFNwZWNpZmljKCk7CiAgICAgVCogb3BlcmF0b3It
PigpOwpAQCAtODQsNyArODQsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhdGljIGRlc3Ryb3ko
dm9pZCogcHRyKTsKIAogI2lmIFVTRShQVEhSRUFEUykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRG
T1JNKEdUSykgfHwgT1MoV0lORE9XUykKLSAgICBzdHJ1Y3QgRGF0YSA6IE5vbmNvcHlhYmxlIHsK
KyAgICBzdHJ1Y3QgRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGEpOwor
ICAgIHB1YmxpYzoKICAgICAgICAgRGF0YShUKiB2YWx1ZSwgVGhyZWFkU3BlY2lmaWM8VD4qIG93
bmVyKSA6IHZhbHVlKHZhbHVlKSwgb3duZXIob3duZXIpIHt9CiAjaWYgUExBVEZPUk0oUVQpCiAg
ICAgICAgIH5EYXRhKCkgeyBvd25lci0+ZGVzdHJveSh0aGlzKTsgfQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKaW5kZXggZjJjMGNhZC4uZDcyOTk2YSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCkBAIC0yMSw3ICsyMSw2IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAKICNpbmNsdWRlICJUaHJlYWRTcGVjaWZpYy5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURTKQogI2Vycm9yIFRoaXMgZmls
ZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGJ5IHBvcnRzIHRoYXQgZG8gbm90IHVzZSBXaW5kb3dz
IG5hdGl2ZSBUaHJlYWRTcGVjaWZpYyBpbXBsZW1lbnRhdGlvbi4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5jcHAKaW5kZXggNDlkZTU5ZS4uZjJlMDU2NSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZGluZy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAK
QEAgLTMwLDcgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLXN0cnVjdCBOZXdUaHJlYWRD
b250ZXh0IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTmV3VGhyZWFkQ29udGV4dChU
aHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lkKiBkYXRhLCBjb25zdCBjaGFyKiBuYW1lKQog
ICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQb2ludCkKICAgICAgICAgLCBkYXRhKGRhdGEpCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmgKaW5kZXggMDQ0MzY1Zi4uZGFlYTE4ZSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRpbmcuaApAQCAtNjYsNyArNjYsNiBAQAogI2luY2x1ZGUgPHd0Zi9BdG9taWNzLmg+CiAjaW5j
bHVkZSA8d3RmL0xvY2tlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVTaGFyZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZGluZ1ByaW1pdGl2ZXMuaAppbmRleCBjMTFhNmNiLi4wNjNkZWMyIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2tlci5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5k
b3dzLmg+CkBAIC05Niw3ICs5NSw4IEBAIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1SZWFkV3JpdGVM
b2NrOwogdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybUNvbmRpdGlvbjsKICNlbmRpZgogICAgIAotY2xh
c3MgTXV0ZXggOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTXV0ZXggeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKE11dGV4KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3ICsxMTMsOCBAQCBwcml2YXRl
OgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7CiAKLWNsYXNzIFJlYWRXcml0
ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhZFdyaXRlTG9jayB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBwdWJsaWM6CiAgICAgUmVhZFdy
aXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0xMzAsNyArMTMxLDggQEAgcHJp
dmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFkV3JpdGVMb2NrOwogfTsKIAot
Y2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRocmVh
ZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkQ29uZGl0aW9uKTsK
IHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+VGhyZWFkQ29uZGl0aW9uKCk7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uNjllM2Y4NiAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaApA
QCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gKICNkZWZpbmUgV1RGX1ZlY3Rv
cl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUu
aCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAiTm90Rm91bmQuaCIKICNpbmNs
dWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNoZWNrLmgiCkBAIC0yNzcsNyAr
Mjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBhbGxvY2F0ZUJ1
ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAgLTQ4OCw3ICs0ODgsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3IgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBWZWN0b3JCdWZmZXI8VCwgaW5saW5l
Q2FwYWNpdHk+IEJ1ZmZlcjsKICAgICAgICAgdHlwZWRlZiBWZWN0b3JUeXBlT3BlcmF0aW9uczxU
PiBUeXBlT3BlcmF0aW9uczsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJl
YWREYXRhLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCmluZGV4IDUwMTlj
MzMuLmQ5MjAxMGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRh
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaApAQCAtMjksNyArMjks
NiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIAogLy8gVGhpcyB3YXMgRU5BQkxFKFdPUktFUlMpIGluIFdlYkNvcmUsIGJ1dCB0
aGlzIGlzIG5vdCBkZWZpbmVkIHdoZW4gY29tcGlsaW5nIEpTQy4KQEAgLTUxLDcgKzUwLDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAKIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgUmVmUHRyPFN0
cmluZ0ltcGw+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPiA+IExpdGVyYWxJZGVudGlmaWVyVGFibGU7
CiAKLWNsYXNzIElkZW50aWZpZXJUYWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IElkZW50aWZpZXJUYWJsZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgfklkZW50aWZpZXJUYWJsZSgpOwogCkBAIC04NCw3ICs4NCw4IEBAIGNsYXNzIEF0b21p
Y1N0cmluZ1RhYmxlOwogCiB0eXBlZGVmIHZvaWQgKCpBdG9taWNTdHJpbmdUYWJsZURlc3RydWN0
b3IpKEF0b21pY1N0cmluZ1RhYmxlKik7CiAKLWNsYXNzIFdURlRocmVhZERhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgV1RGVGhyZWFkRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV1RGVGhyZWFkRGF0YSk7CiBwdWJsaWM6CiAgICAgV1RGVGhyZWFkRGF0YSgpOwogICAg
IH5XVEZUaHJlYWREYXRhKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5j
cHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKaW5kZXggYzg5YzAzNi4uYjViMTI2MSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9kdG9hLmNwcApAQCAtNDE0LDcgKzQxNCwxMCBAQCBzdGF0aWMgdm9pZCBtdWx0KEJp
Z0ludCYgYVJlZiwgY29uc3QgQmlnSW50JiBiUmVmKQogICAgIGFSZWYgPSBjOwogfQogCi1zdHJ1
Y3QgUDVOb2RlIDogTm9uY29weWFibGUgeworc3RydWN0IFA1Tm9kZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUDVOb2RlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6Cisg
ICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5vZGUqIG5leHQ7CiB9Owpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oIGIvSmF2YVNj
cmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNlNDMuLmEzN2Q5OGYgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2lu
Y2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19mcmVlKHZvaWQqKTsKIApA
QCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHUGF0dGVyblNw
ZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Rpcj4o
R0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0ZpbGU+KEdGaWxlKik7CiAK
LXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBHT3duUHRyKFQqIHB0
ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsgZnJlZU93bmVkR1B0ciht
X3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZl
ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggYTU0NmJm
My4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVm
ZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKQEAgLTMw
LDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
dW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBuYW1lc3BhY2UgV1RGIHsK
IAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0cmlu
Z0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5nQnVmZmVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVuZ3RoKQogICAgICAgICA6
IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0
cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5o
CmluZGV4IDY1Njc2NzIuLjI2YmMxZDkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
SW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0cmluZ0ltcGxCYXNlX2gK
ICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAot
Y2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5n
SW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0ltcGxCYXNlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgYm9vbCBpc1N0cmluZ0ltcGwoKSB7
IHJldHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZDb3VudEludmFsaWRGb3JTdHJpbmdJ
bXBsKSAhPSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGw7IH0KICAgICB1bnNpZ25lZCBs
ZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpAQCAtNDUsOSArNDUsNiBAQCBwcm90
ZWN0ZWQ6CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9OwogCi0gICAgdXNpbmcgTm9uY29w
eWFibGU6Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lk
KiBpblBsYWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJuIGluUGxhY2U7IH0KLQogICAgIC8v
IEZvciBTbWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9jYXRlcyBhbiBhcnJheSBhbmQgdXNl
cyBhbiBpbi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJhc2UoKSB7IH0KIApkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKaW5kZXggZmU2YTgwOS4uYThiY2UxMiAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIFdU
Rl9Db2xsYXRvcl9oCiAjZGVmaW5lIFdURl9Db2xsYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi91
bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtMzksNyArMzgsOCBAQCBzdHJ1Y3QgVUNvbGxhdG9yOwog
CiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIGNsYXNzIENvbGxhdG9yIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDb2xsYXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENvbGxhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9IDEsIExlc3MgPSAtMSB9OwogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaCBiL0phdmFT
Y3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCmluZGV4IDJlMjM0NzIuLmI3Y2VlZmMg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCkBAIC0zMDYsNyArMzA2LDgg
QEAgc3RydWN0IEJ5dGVUZXJtIHsKICAgICB9CiB9OwogCi1jbGFzcyBCeXRlRGlzanVuY3Rpb24g
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBCeXRlRGlzanVuY3Rpb24geworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEJ5dGVEaXNqdW5jdGlvbih1bnNp
Z25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAgICAgICA6IG1fbnVt
U3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTksNyArMzIwLDkgQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVjb2RlUGF0dGVybiA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQnl0ZWNvZGVQYXR0ZXJuKFBhc3NPd25QdHI8
Qnl0ZURpc2p1bmN0aW9uPiBib2R5LCBWZWN0b3I8Qnl0ZURpc2p1bmN0aW9uKj4gYWxsUGFyZW50
aGVzZXNJbmZvLCBSZWdleFBhdHRlcm4mIHBhdHRlcm4sIEJ1bXBQb2ludGVyQWxsb2NhdG9yKiBh
bGxvY2F0b3IpCiAgICAgICAgIDogbV9ib2R5KGJvZHkpCiAgICAgICAgICwgbV9pZ25vcmVDYXNl
KHBhdHRlcm4ubV9pZ25vcmVDYXNlKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9S
ZWdleFBhdHRlcm4uaCBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgKaW5kZXgg
Yzc2YzY0MS4uYjcyMDE3MyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBh
dHRlcm4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCkBAIC03MCw3
ICs3MCw5IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3RydWN0IENoYXJhY3RlckNsYXNzIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBDaGFyYWN0ZXJDbGFzcyBpbnN0YW5j
ZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVzIGFuZCByYW5nZXMsCiAgICAg
Ly8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3IgZmFzdGVyIGxvb2t1cHMgKHdo
aWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1hdGNoZXMgYW5kIHJhbmdlcykK
QEAgLTIwNCw3ICsyMDYsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0gewogICAgIH0KIH07CiAKLXN0
cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0ZXJu
QWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAg
IFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uKQogICAg
ICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRocm91Z2goZmFs
c2UpCkBAIC0yNDUsNyArMjQ5LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RB
bGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1zdHJ1Y3QgUGF0
dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVybkRpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBQYXR0ZXJu
RGlzanVuY3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJlbnQgPSAwKQogICAgICAgICA6IG1f
cGFyZW50KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVkU2l6ZShmYWxzZSkKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwpp
bmRleCBjN2IyZGNlLi4xMjE0NmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VM
b2cKKysrIGIvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAt
MTEtMzAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29w
eWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20g
RmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAj
MzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQgCisgICAgICAgIEZhc3RBbGxv
Y0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5v
bmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKwor
ICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgor
CiAyMDEwLTEwLTI1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0R2x1
ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL0phdmFTY3JpcHRHbHVlL0Zv
cndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdI
ZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE1N2I1NjYuLjJlYTFiOGUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTAtMTEtMzAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlh
YmxlLmg6IFJlbW92ZWQuCisKIDIwMTAtMTEtMzAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSNp
Zm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZXRF9Ob25j
b3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMjg4YmI4MC4uYTc1YmY5
NCAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU3OCwxMCArNjM1
NzgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZl
UGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJCQk+DQot
CQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi4wYzNmMDg3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAgc3RydWN0
IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91c2x5LCBQ
b3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
QVhPYmplY3RDYWNoZSgpOwogICAgIH5BWE9iamVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKaW5kZXggODA5YTQ4OC4uYjY5
NzZhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQ
cm92aWRlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJv
dmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0U291cmNlUHJvdmlk
ZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FjaGVk
U2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0ZShDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyKGNhY2hlZFNj
cmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVy
LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCmluZGV4IDRjMjU0MDcuLjkx
ZjFlNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaApAQCAtMjYsMTIgKzI2LDEyIEBA
CiAjaWZuZGVmIEdDQ29udHJvbGxlcl9oCiAjZGVmaW5lIEdDQ29udHJvbGxlcl9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJUaW1lci5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIEdDQ29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdDQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBmcmllbmQg
R0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9va3Vw
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAg
ICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0
LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dy
YXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyByZW1v
dmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdpY2UK
IAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdXcmFw
cGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVnV3Jh
cHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFyZWQo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRl
LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4IDgx
OTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhy
ZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVj
U3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0
YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uNTlhZDZmYyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHkuIFVz
ZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2YWwo
KQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gY3JlYXRlKEpT
Qzo6RXhlY1N0YXRlKiwgRE9NV3JhcHBlcldvcmxkKiBpc29sYXRlZFdvcmxkKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uNWY2
OTFkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XaW5kb3c7
CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogCi0gICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDwg
UmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJvdGVjdGVkUHRyPEpTRE9NV2luZG93PiA+
IEpTRE9NV2luZG93U2V0OwogCiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRE
ZWJ1Z1NlcnZlci5oCmluZGV4IDMxNzJjNjUuLjMwMDBhYmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2LDcgKzU2LDggQEAgY2xhc3MgUGFnZUdyb3VwOwog
Y2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIGNsYXNzIEphdmFTY3JpcHRDYWxsRnJhbWU7CiAK
LWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dlciwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjZlMmQ3YmUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIEpTR2xvYmFsRGF0YVdvcmxkSXRlcmF0b3I7CiAgICAg
ZnJpZW5kIHZvaWQgaW5pdE5vcm1hbFdvcmxkQ2xpZW50RGF0YShKU0M6OkpTR2xvYmFsRGF0YSop
OwogCiBwdWJsaWM6CisgICAgV2ViQ29yZUpTQ2xpZW50RGF0YSgpIHsgfQogICAgIHZpcnR1YWwg
fldlYkNvcmVKU0NsaWVudERhdGEoKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQu
Y29udGFpbnMobV9ub3JtYWxXb3JsZC5nZXQoKSkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1dv
cmtlclNjcmlwdENvbnRyb2xsZXIuaAppbmRleCBiZTdkYTRkLi40NTc4OTEzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNyArMzEsNiBA
QAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5n
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgU2NyaXB0VmFsdWU7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAot
ICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShXb3JrZXJTY3JpcHRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNvbnRl
eHQqKTsKICAgICAgICAgfldvcmtlclNjcmlwdENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRh
LmgKaW5kZXggYzhiNGE0MS4uMDlkNTM0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKQEAgLTQzLDcg
KzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHRocmVhZC4gIFRoZSBET01EYXRh
IGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZSBET01EYXRhIGZvciBjaGlsZCB0aHJlYWRzCiAg
ICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRE9NRGF0
YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3Rv
cmUuaAppbmRleCAzNzU4ZTIzLi44YzZjMDJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RPTURhdGFTdG9yZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAgLTE0OSw3ICsxNDgsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gVGhpcyBjbGFzcyBkb2Vzbid0IG1hbmFnZSB0aGUg
bGlmZXRpbWUgb2YgdGhlIHN0b3JlLiAgVGhlIGRhdGEgc3RvcmUKICAgICAvLyBsaWZldGltZSBp
cyBtYW5hZ2VkIGJ5IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBET01EYXRhU3RvcmUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGFTdG9yZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGFTdG9yZSk7CiAgICAgcHVibGljOgogICAgICAg
ICBlbnVtIERPTVdyYXBwZXJNYXBUeXBlIHsKICAgICAgICAgICAgIERPTU5vZGVNYXAsCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxYWExZjYyLi5m
NDJlODExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTYwLDE0ICs2MCwxNCBAQCBwdWJsaWM6CiAKICNpbmNsdWRlICJPd25IYW5kbGUuaCIKICNp
bmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwogY2xhc3MgRE9NV2luZG93OwogCi1jbGFzcyBTY3Jp
cHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YSAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hlZEZy
YW1lRGF0YSApOwogcHVibGljOgogICAgIFNjcmlwdENhY2hlZEZyYW1lRGF0YShGcmFtZSopOwog
ICAgIH5TY3JpcHRDYWNoZWRGcmFtZURhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCA1YzVkNmM2Li40NDFhYjNkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92
OC9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAiVGltZXIu
aCIKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTQ4LDcgKzQ3LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiAK
LWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNj
cmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1Nl
cnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IGI3NWEwNTQuLmUwOTY5ZTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKQEAgLTM2LDEzICszNiwxMyBAQAog
I2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgSW5zcGVjdG9yT2JqZWN0OwogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlw
dFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAuLmRjMjQ3MTIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1
ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiBjbGFz
cyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGUpOwog
cHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0aW9uKCkgeyByZXR1cm4gIW1fZXhjZXB0aW9uLklz
RW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhjZXB0aW9uKHY4OjpMb2NhbDx2ODo6VmFsdWU+IGV4
Y2VwdGlvbikKQEAgLTc5LDcgKzc5LDggQEAgcHVibGljOgogICAgIH5FbXB0eVNjcmlwdFN0YXRl
KCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIFNjcmlw
dFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3NjcmlwdFN0YXRlKDApIHsgfQogICAgIFNjcmlwdFN0
YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkgOiBtX3NjcmlwdFN0YXRl
KHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFs
dWUuY3BwCmluZGV4IDM2ZmMxZjYuLjJjMjg3ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTEyOCw3ICsxMjgsOCBAQCBwcml2YXRlOgog
CiAvLyBXcml0ZXIgaXMgcmVzcG9uc2libGUgZm9yIHNlcmlhbGl6aW5nIHByaW1pdGl2ZSB0eXBl
cyBhbmQgc3RvcmluZwogLy8gaW5mb3JtYXRpb24gdXNlZCB0byByZWNvbnN0cnVjdCBjb21wb3Np
dGUgdHlwZXMuCi1jbGFzcyBXcml0ZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBXcml0ZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdyaXRlcik7CiBwdWJsaWM6CiAgICAgV3JpdGVyKCkK
ICAgICAgICAgOiBtX3Bvc2l0aW9uKDApCkBAIC0zNzcsNyArMzc4LDggQEAgcHVibGljOgogICAg
IH0KIAogcHJpdmF0ZToKLSAgICBjbGFzcyBTdGF0ZUJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFN0YXRlQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0
YXRlQmFzZSk7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5TdGF0ZUJhc2UoKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmggYi9XZWJDb3JlL2JyaWRnZS9C
cmlkZ2UuaAppbmRleCA1MGVmYzY0Li4wMGQ2ZjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9CcmlkZ2UuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaApAQCAtMjgsMTQgKzI4LDE1
IEBACiAjZGVmaW5lIEJyaWRnZV9oCiAKICNpbmNsdWRlICJCcmlkZ2VKU0MuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyAgewogCiBuYW1lc3BhY2UgQmlu
ZGluZ3MgewogCi1jbGFzcyBNZXRob2QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWV0
aG9kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXRob2QpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1Q
YXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9J
ZGVudGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uNWUxNTdjMCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJS
ZXAuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgog
I2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoaW50KTsKICAg
ICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGNvbnN0IGNoYXIqKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VK
U0MuaAppbmRleCA5Njk3NGQ5Li5lYmNmYWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9q
c2MvQnJpZGdlSlNDLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01
OSw4ICs1OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNs
YXNzIENsYXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgorICAgIENsYXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChj
b25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVs
ZCogZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwg
Y29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsx
MjcsOCBAQCBwcml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVP
YmplY3Q7CiB9OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBB
cnJheSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFy
cmF5KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaCBiL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfcm9vdC5oCmluZGV4IGJhYmQ3YWQuLjM5ZmIzNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfcm9vdC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5o
CkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmgKaW5kZXggODMzZDdmZS4uMTc0ZjFlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzIsNiAr
MzIsNyBAQCBjbGFzcyBTdHlsZUNhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVJbWFnZTsKIAogY2xh
c3MgQ1NTSW1hZ2VWYWx1ZSA6IHB1YmxpYyBDU1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0ZSBDYWNo
ZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NT
SW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1w
b3J0UnVsZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLmFk
NGU5N2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJD
b3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NT
U3R5bGVTaGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1
YmxpYyBDU1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbXBv
cnRSdWxlPiBjcmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGhyZWYs
IFBhc3NSZWZQdHI8TWVkaWFMaXN0PiBtZWRpYSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCmluZGV4IDYy
MjVjMzYuLjkyNjM4ZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCisr
KyBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0yNiw3ICsyNiw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAg
ICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAgQXRvbWljU3RyaW5nIHVyaTsKICAg
ICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmggYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAxOTEyNDljLi45
MzdiOGVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaApAQCAtMzI5LDcgKzMyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBpbnQgY3NzUHJvcGVydHlJRChjb25zdCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVL
ZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRT
Y29wZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
U2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIo
cGFyc2VyKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1
ZXMuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjk5NmU3
ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJz
ZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07
CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIENTU1BhcnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KCkKICAgICAgICAgOiBtX2N1cnJlbnQoMCkK
QEAgLTgzLDcgKzg0LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8Q1NTUGFyc2VyVmFsdWUsIDQ+
IG1fdmFsdWVzOwogfTsKIAotc3RydWN0IENTU1BhcnNlckZ1bmN0aW9uIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIENTU1BhcnNlclN0cmluZyBuYW1lOwogICAgIE93blB0cjxDU1NQ
YXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuaCBiL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKaW5kZXggMTA2MTcxZC4uMTBlNTkz
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgQ1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQ
cm9wZXJ0eSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NT
UHJvcGVydHkoaW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1w
b3J0YW50ID0gZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxz
ZSkKICAgICAgICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40
MmNkZjc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9y
QmFnIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2Vs
ZWN0b3JCYWcoKSB7IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNT
RVJUKGlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li5kZGMwYWEwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVj
dG9yLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNp
bmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCkBAIC0zMyw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NT
ZWxlY3RvckJhZzsKIAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZv
ciBhIFN0eWxlUnVsZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENTU1NlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBDU1NTZWxlY3RvcigpCiAgICAgICAgICAgICA6IG1fcmVsYXRpb24oRGVzY2VuZGFudCkK
QEAgLTMwMiw3ICszMDIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHVuc2lnbmVk
IHNwZWNpZmljaXR5Rm9yUGFnZSgpIGNvbnN0OwogICAgICAgICB2b2lkIGV4dHJhY3RQc2V1ZG9U
eXBlKCkgY29uc3Q7CiAKLSAgICAgICAgc3RydWN0IFJhcmVEYXRhIDogTm9uY29weWFibGUgewor
ICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgUmFyZURhdGEoUGFzc093blB0cjxDU1NTZWxlY3Rvcj4gdGFnSGlzdG9yeSkK
ICAgICAgICAgICAgICAgICA6IG1fYSgwKQogICAgICAgICAgICAgICAgICwgbV9iKDApCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaCBiL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yTGlzdC5oCmluZGV4IDllNDBlZjguLjcxY2VhNmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yTGlzdC5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5o
CkBAIC0yNywxMSArMjcsMTEgQEAKICNkZWZpbmUgQ1NTU2VsZWN0b3JMaXN0X2gKIAogI2luY2x1
ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAKLWNsYXNzIENTU1NlbGVjdG9yTGlzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBDU1NTZWxlY3Rvckxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1NlbGVjdG9yTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIENTU1NlbGVjdG9yTGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NT
ZWxlY3Rvckxpc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMmYyZjNiNS4uYTE2
ZWE4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAo
aWQgPT0gcHJvcElEKSB7IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDU1NSdWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAg
fkNTU1J1bGVTZXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
aCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4zZTJlYjc0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVs
ZW1lbnQ7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlm
cmFtZXNSdWxlOwogCi1jbGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE1lZGlhUXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnlSZXN1bHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBN
ZWRpYVF1ZXJ5UmVzdWx0KGNvbnN0IE1lZGlhUXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQog
ICAgICAgICA6IG1fZXhwcmVzc2lvbihleHByKQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9
OwogCiAgICAgLy8gVGhpcyBjbGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4g
ZWxlbWVudCBiYXNlZCBvbiBhIGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3Mg
Q1NTU3R5bGVTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5
bGVTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0
b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0
eWxlU2VsZWN0b3IoRG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NT
dHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hlZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
Q1NTU3R5bGVTaGVldCogcGFnZVVzZXJTaGVldCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHls
ZVNoZWV0PiA+KiBwYWdlR3JvdXBVc2VyU2hlZXRzLApAQCAtMjA5LDcgKzIxMSw4IEBAIHB1Ymxp
YzoKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRB
dmFpbGFibGUoKSB7IHJldHVybiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAg
Y2xhc3MgU2VsZWN0b3JDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xh
c3MgU2VsZWN0b3JDaGVja2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNl
bGVjdG9yQ2hlY2tlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hl
Y2tlcihEb2N1bWVudCosIGJvb2wgc3RyaWN0UGFyc2luZyk7CiAKQEAgLTMxNSw3ICszMTgsOCBA
QCBwdWJsaWM6CiAgICAgICAgIFZlY3RvcjxNZWRpYVF1ZXJ5UmVzdWx0Kj4gbV92aWV3cG9ydERl
cGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NSdWxlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHIsIENTU1NlbGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAg
ICAgICAgICAgIDogbV9wb3NpdGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgog
ICAgICAgICBDU1NSdWxlRGF0YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxl
RGF0YUxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlz
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGFMaXN0
KHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2VsKQogICAg
ICAgICAgICAgOiBtX2ZpcnN0KG5ldyBDU1NSdWxlRGF0YShwb3MsIHJ1bGUsIHNlbCkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
LmgKaW5kZXggMjgxMDA5Yi4uYTYzOGFjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeS5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaApAQCAtMzcsNyArMzcsOCBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFRdWVyeUV4cDsKIAotY2xhc3MgTWVkaWFR
dWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsKICAgICAgICAgT25seSwgTm90LCBOb25lCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXggMDBhYzM5NC4uMDdjNGQwZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBNZWRpYVF1ZXJ5RXhw
OwogICogdGhlIGRldmljZSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5vdCBrbm93bi4gVGhpcyBjYW4g
YmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGluZwogICogb2Ygc3R5bGVzaGVldHMgdG8gb25seSB0
aG9zZSB3aGljaCBhcmUgcHJvYmFibGUgdG8gbWF0Y2guCiAgKi8KLWNsYXNzIE1lZGlhUXVlcnlF
dmFsdWF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRv
ciB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlFdmFsdWF0b3IpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Ig
d2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVh
dG9yIHJldHVybnMgdHJ1ZSBmb3IgImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZl
YXR1cmVSZXN1bHQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAppbmRleCA3MmQzZmZmLi43ZTRkNDc3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBD
U1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVF1ZXJ5RXhwPiBjcmVh
dGUoY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYUZlYXR1cmUsIENTU1BhcnNlclZhbHVlTGlzdCog
dmFsdWVzKTsKICAgICB+TWVkaWFRdWVyeUV4cCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
QXN5bmNTY3JpcHRSdW5uZXIuY3BwIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3Bw
CmluZGV4IDdmNWYxYjYuLjRhOGQyNWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmNwcAorKysgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKQEAg
LTU3LDcgKzU3LDcgQEAgdm9pZCBBc3luY1NjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdFNvb24o
U2NyaXB0RWxlbWVudCogZGF0YSwgQ2FjaGVkUmVzb3VyY2VIYW4KICAgICBBU1NFUlQoZWxlbWVu
dC0+aW5Eb2N1bWVudCgpKTsKIAogICAgIG1fZG9jdW1lbnQtPmluY3JlbWVudExvYWRFdmVudERl
bGF5Q291bnQoKTsKLSAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChtYWtlX3BhaXIo
ZGF0YSwgY2FjaGVkU2NyaXB0KSk7CisgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBlbmQo
c3RkOjptYWtlX3BhaXIoZGF0YSwgY2FjaGVkU2NyaXB0KSk7CiAgICAgZWxlbWVudC0+cmVmKCk7
IC8vIEJhbGFuY2VkIGJ5IGRlcmVmKClzIGluIHRpbWVyRmlyZWQoKSBhbmQgZHRvci4KICAgICBp
ZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9k
b20vQXN5bmNTY3JpcHRSdW5uZXIuaAppbmRleCAxYTA1MWE4Li4zZjcxZGYzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5j
U2NyaXB0UnVubmVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIApAQCAtMzgsNyArMzcsOCBAQCBjbGFzcyBDYWNoZWRTY3JpcHQ7CiBjbGFzcyBEb2N1bWVu
dDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiAgICAgCi1jbGFzcyBBc3luY1NjcmlwdFJ1bm5lciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY1NjcmlwdFJ1bm5lciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXN5bmNTY3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxBc3luY1NjcmlwdFJ1bm5lcj4g
Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1cm4gbmV3IEFzeW5jU2NyaXB0UnVubmVy
KGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1NjcmlwdFJ1bm5lcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmggYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAppbmRl
eCA4NmEyMmIwLi43NTE0YWI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAu
aAorKysgYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2Rl
ZmluZSBET01TdHJpbmdNYXBfaAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTM1LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIERPTVN0cmlu
Z01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01TdHJpbmdNYXAgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmluZ01hcCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
MTY5NGEzNy4uZDk5YWU2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBE
b2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGwKICAgICAgICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uo
c291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0K
IAotc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJm
b3JtVGFza0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29u
dGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBlcmZvcm1UYXNr
Q29udGV4dChQYXNzUmVmUHRyPERvY3VtZW50V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVu
Y2UsIFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAg
ICAgOiBkb2N1bWVudFJlZmVyZW5jZShkb2N1bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNr
KHRhc2spCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIu
aCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCmluZGV4IDk2ZmI3ZjMu
LmUxMmYyM2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxl
ci5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCkBAIC0zOCw4
ICszOCwxMCBAQCBjbGFzcyBJbnRSZWN0OwogY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogCi1j
bGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
b2N1bWVudE1hcmtlckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKKyAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7IH0KICAgICB+RG9jdW1lbnRNYXJr
ZXJDb250cm9sbGVyKCkgeyBkZXRhY2goKTsgfQogCiAgICAgdm9pZCBkZXRhY2goKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmggYi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGYw
NWQzNmMuLmNkNDlkZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2Vi
Q29yZS9kb20vRXZlbnQuaApAQCAtMjQsNiArMjQsNyBAQAogI2lmbmRlZiBFdmVudF9oCiAjZGVm
aW5lIEV2ZW50X2gKIAorI2luY2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkRPTVRpbWVT
dGFtcC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KQEAgLTMxLDggKzMyLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xh
c3MgQ2xpcGJvYXJkOwotCiAgICAgY2xhc3MgRXZlbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVu
dD4gewogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBQaGFzZVR5cGUgeyAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRl
eCA0OTY4MDRlLi42ODZkOWIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgK
KysrIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xNzgsNyArMTc4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIFwKIC8vIGVuZCBvZiBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gK
IAotICAgIGNsYXNzIEV2ZW50TmFtZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IEV2ZW50TmFtZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudE5hbWVzKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRv
IG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8gd29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBw
cmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBFdmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5h
bWVzKCkKICAgICAgICAgRXZlbnROYW1lcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uODFl
ZWI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0
ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3Rl
bmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1hcDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERh
dGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRUYXJnZXREYXRhKCk7CiAgICAgICAg
IH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vSWdub3JlRGVz
dHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3Ry
dWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKaW5kZXggOWQxODM1YS4uMjZmN2ZkMCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50
ZXIuaAorKysgYi9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1l
bnRlci5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNkZWZpbmUgSWdub3JlRGVzdHJ1Y3RpdmVXcml0
ZUNvdW50SW5jcmVtZW50ZXJfaAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIpOwog
cHVibGljOgogICAgIGV4cGxpY2l0IElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgOiBtX2NvdW50KGRvY3VtZW50ID8gJmRv
Y3VtZW50LT5tX2lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudCA6IDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaCBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0
Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjA3NjY4YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oCkBAIC01NSw3ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIE1lc3Nh
Z2VQb3J0Q2hhbm5lbCBpcyBhIHBsYXRmb3JtLWluZGVwZW5kZW50IGludGVyZmFjZSB0byB0aGUg
cmVtb3RlIHNpZGUgb2YgYSBtZXNzYWdlIGNoYW5uZWwuCiAgICAgLy8gSXQgYWN0cyBhcyBhIHdy
YXBwZXIgYXJvdW5kIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgUGxhdGZvcm1NZXNzYWdlUG9ydENo
YW5uZWwgaW1wbGVtZW50YXRpb24gd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBwbGF0Zm9ybS1kZXBl
bmRlbnQgY2xvc2UoKSBtZXRob2QgaXMgaW52b2tlZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCi0gICAg
Y2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBNZXNzYWdlUG9ydENoYW5uZWwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNz
YWdlUG9ydENoYW5uZWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNoYW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4s
IFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+KTsKIApAQCAtNzgsNyArNzksOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcHJveHkgY3VycmVudGx5
IGNvbnRhaW5zIG1lc3NhZ2VzIGZvciB0aGlzIHBvcnQuCiAgICAgICAgIGJvb2wgaGFzUGVuZGlu
Z0FjdGl2aXR5KCk7CiAKLSAgICAgICAgY2xhc3MgRXZlbnREYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICAgICAgY2xhc3MgRXZlbnREYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEV2ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQ
YXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRD
aGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgg
Yi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCBhYjIwOGQyLi43MzUwZjgwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2Rl
UmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0
cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNO
b2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHlu
YW1pY05vZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhD
YWNoZXM7CiAgICAgCkBAIC02Nyw3ICs2OSw4IEBAIHByaXZhdGU6CiAgICAgfQogfTsKICAgICAK
LWNsYXNzIE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOb2RlUmFy
ZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGVSYXJlRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOiAgICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAg
ICA6IG1fdGFiSW5kZXgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUu
aCBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAppbmRleCAzNGZjMDY5Li5jYjk1ZjIwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysrIGIvV2ViQ29yZS9kb20v
UXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICszMiw4IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29t
cG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFs
aWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUXVhbGlmaWVkTmFtZSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgY2xhc3MgUXVhbGlm
aWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxRdWFsaWZpZWROYW1lSW1wbD4gewogICAg
IHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNv
cmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJlYjZlLi40MDEzYzFjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3Jp
cHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNv
dXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
U2NyaXB0RWxlbWVudChFbGVtZW50KiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIsIGJvb2wgaXNFdmFs
dWF0ZWQpOwogICAgIHZpcnR1YWwgflNjcmlwdEVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaAppbmRleCBiNDZhMGY0Li40NTY2YTYxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCkBAIC0xMTYsOCArMTE2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCByZWYoKSB7IHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAg
ICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogCi0g
ICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBU
YXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgorICAgICAgICAgICAgVGFzaygpIHsgfQog
ICAgICAgICAgICAgdmlydHVhbCB+VGFzaygpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBl
cmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBD
ZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3BlY2lhbGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlz
Y2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3aGVuIHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRv
d24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0
U3RyaW5nLmggYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKaW5kZXggODI2ZTZiZC4u
NmViODkzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCisrKyBi
L1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5nRGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU3BhY2VTcGxpdFN0cmluZ0RhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGFjZVNwbGl0U3RyaW5nRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU3BhY2VTcGxpdFN0cmluZ0RhdGEo
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9sZENhc2UpCiAgICAgICAgICAgICA6
IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uoc2hvdWxkRm9sZENhc2UpLCBtX2Ny
ZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3Vy
Y2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjZjMDE0
YTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCisrKyBiL1dlYkNv
cmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsyMyw2IEBACiAjaWYgRU5BQkxFKFhT
TFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2U7
CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBUcmFuc2Zvcm1Tb3VyY2UoY29uc3QgUGxhdGZvcm1UcmFuc2Zvcm1Tb3Vy
Y2UmIHNvdXJjZSk7CiAgICAgICAgIH5UcmFuc2Zvcm1Tb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmggYi9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVy
ZUluZGljYXRvci5oCmluZGV4IDE3ZWEzMTkuLmRlNTdlZmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJ
bmRpY2F0b3IuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBVc2VyR2VzdHVyZUluZGljYXRv
cl9oCiAjZGVmaW5lIFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM2LDcgKzM1LDggQEAgZW51
bSBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSB7CiAgICAgRGVmaW5pdGVseU5vdFByb2Nlc3Np
bmdVc2VyR2VzdHVyZQogfTsKIAotY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFVzZXJHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
Ym9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2Vz
dHVyZSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CiAgICAgc3RhdGljIFBy
b2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIGdldFVzZXJHZXN0dXJlU3RhdGUoKSB7IHJldHVybiBz
X3Byb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlclR5
cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yLmgKaW5kZXggNmM3MTA3OS4uYmMzYWNlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJUeXBpbmdH
ZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNCw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIAotY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJ
bmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJ
bmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5nVXNlclR5cGluZ0dl
c3R1cmUoKTsKICAgICBzdGF0aWMgTm9kZSogZm9jdXNlZEVsZW1lbnRBdEdlc3R1cmVTdGFydCgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaCBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKaW5kZXggZTNkM2NjMi4uZWU4MWQ3OSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxE
b2N1bWVudFBhcnNlci5oCkBAIC03MSw2ICs3MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNl
bmRpZgogCiAgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXIgOiBwdWJsaWMgU2NyaXB0YWJsZURv
Y3VtZW50UGFyc2VyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFhNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGcmFtZVZp
ZXcqIHZpZXcpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyTGlieG1sMi5jcHAgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIu
Y3BwCmluZGV4IDdhMzI4NWYuLjZlZGU3ODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERv
Y3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJz
ZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFja3MgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGljOgorICAgIFBlbmRpbmdDYWxsYmFja3Mo
KSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAgICAgewogICAgICAgICBkZWxldGVBbGxW
YWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXJTY29wZS5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCmluZGV4
IDU4ZThhNmIuLjhmNDE5MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFy
c2VyU2NvcGUuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKQEAg
LTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9oCiAjZGVmaW5l
IFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKICNpZiBFTkFCTEUoWFNMVCkKICNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgpAQCAtMzYsNyAr
MzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxv
YWRlcjsKIAotICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShYTUxEb2N1bWVudFBhcnNlclNjb3BlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hl
ZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAgflhNTERvY3VtZW50UGFyc2VyU2NvcGUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmggYi9XZWJD
b3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCmluZGV4IDEyODZjMDcuLjRkOTI4
YzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgK
KysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApAQCAtMzYsNyAr
MzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFZp
c2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoRnJhbWUqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBi
L1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggZmI1MmU1
Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25D
b21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlwZSB7IEVtcHR5RnJhZ21lbnQs
IFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9OwogCiAvLyAtLS0gUmVwbGFj
ZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50KTsKIHB1YmxpYzoKICAgICBS
ZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRGcmFnbWVudCosIGJvb2wgbWF0
Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlv
bkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li5kNTU2MGY1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxl
Y3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJTY3JvbGxCZWhh
dmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiVmlzaWJsZVNlbGVjdGlvbi5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogCiBlbnVtIERpcmVjdGlv
bmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0aW9uLCBNYWtlRGlyZWN0aW9u
YWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgZW51bSBFQWx0ZXJhdGlvbiB7IEFsdGVyYXRpb25Nb3ZlLCBBbHRlcmF0aW9u
RXh0ZW5kIH07CiAgICAgZW51bSBFRGlyZWN0aW9uIHsgRGlyZWN0aW9uRm9yd2FyZCwgRGlyZWN0
aW9uQmFja3dhcmQsIERpcmVjdGlvblJpZ2h0LCBEaXJlY3Rpb25MZWZ0IH07CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmggYi9XZWJDb3JlL2VkaXRpbmcv
VGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXggNGRjZWQwNS4uZGU5Yzc1NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCisrKyBiL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAtNzIsNyArNzIsOCBAQCBwcml2YXRlOgogICAgIG11
dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7CiB9OwogCi1jbGFzcyBUZXh0Q2hlY2tpbmdIZWxw
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGV4dENoZWNraW5nSGVscGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q2hlY2tpbmdIZWxwZXIpOwogcHVibGljOgogICAg
IFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JDbGllbnQqLCBQYXNzUmVmUHRyPFJhbmdlPik7CiAg
ICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCAx
YmM1NThhLi41Mzg3ZTQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9y
LmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtNjEsNyArNjEs
OCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogLy8gQ2FzZSBmb2xkaW5nIGlzIGFsc28g
ZG9uZSBpZiB0aGUgQ2FzZUluc2Vuc2l0aXZlIG9wdGlvbiBpcyBzcGVjaWZpZWQuCiAvLyBNYXRj
aGVzIGFyZSBmdXJ0aGVyIGZpbHRlcmVkIGlmIHRoZSBBdFdvcmRTdGFydHMgb3B0aW9uIGlzIHNw
ZWNpZmllZCwgYWx0aG91Z2ggc29tZQogLy8gbWF0Y2hlcyBpbnNpZGUgYSB3b3JkIGFyZSBwZXJt
aXR0ZWQgaWYgVHJlYXRNZWRpYWxDYXBpdGFsQXNXb3JkU3RhcnQgaXMgc3BlY2lmaWVkIGFzIHdl
bGwuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Vh
cmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWFyY2hCdWZmZXIpOwogcHVi
bGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJpbmcmIHRhcmdldCwgRmluZE9wdGlvbnMp
OwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxl
VGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1
MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBzdGFydCgpOwogICAgIHZvaWQgc3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxl
U3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0
ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlv
biBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xh
c3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmls
ZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1
YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxl
U3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2Nh
bEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNr
SGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJh
Y2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBB
IGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5
cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxi
YWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2Vy
dmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0Nh
bGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0Jh
Y2tGb3J3YXJkQ29udHJvbGxlci5oCmluZGV4IGU4OWUzMmIuLjk3ZWQ2YjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYg
QmFja0ZvcndhcmRDb250cm9sbGVyX2gKICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tG
b3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFj
a0ZvcndhcmRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3
YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250
cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQmFja0Zvcndh
cmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVmUHRyPEJhY2tGb3J3YXJkTGlzdD4pOwogICAgIH5C
YWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuaCBiL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAppbmRleCA3MWFlNWFkLi5jZjJh
MGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvV2ViQ29y
ZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiVGltZXIu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07
CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAgICBjbGFzcyBQYWdlQ2FjaGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFBhZ2VDYWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSogcGFnZUNhY2hlKCk7CiAgICAgICAgIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oIGIvV2ViQ29yZS9odG1sL0NvbGxl
Y3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEuLjhlNGEwNjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hl
LmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50
OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ29s
bGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAg
ICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlv
bkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNhY2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlv
bkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFi
NC4uOGY2ZmQ0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0
LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3Qg
OiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJsaWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2Vu
TGlzdD4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPERPTVNldHRhYmxlVG9rZW5MaXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tl
bkxpc3QuaAppbmRleCA1ZGYyZWRlLi4wYjc1YjY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
RE9NVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0yNywx
NSArMjcsMTYgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9taWNTdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVu
dDsKIAotY2xhc3MgRE9NVG9rZW5MaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERP
TVRva2VuTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NVG9rZW5MaXN0KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRE9NVG9rZW5MaXN0KCkgeyB9CiAg
ICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkge307CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkg
PSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDNkMTcxOTQuLjU5ZTk3ODMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEyMTEsNyArMTIxMSw5IEBAIGJvb2wgSFRN
TElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKSBjb25zdAog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSA6IEZhc3RB
bGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3Vy
clJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWluYXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRt
bC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBh
cnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJr
c19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQ
YXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJr
cyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6
CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQogICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWly
a3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaAppbmRleCA1MDBjY2IzLi4xNDVlZGFiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0z
Myw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5w
dXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRN
TElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBvc2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBh
bmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8gY2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1M
SW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5w
dXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYpOwog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlVGV4dChIVE1MSW5wdXRFbGVt
ZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmggYi9XZWJDb3JlL2h0
bWwvU3RlcFJhbmdlLmgKaW5kZXggY2UwNDRlYS4uMWYxNjZiZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaApAQCAtMjIs
MTMgKzIyLDEzIEBACiAjZGVmaW5lIFN0ZXBSYW5nZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNsYXNzIFN0ZXBSYW5nZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYXNTdGVwOwogICAgIGRvdWJsZSBzdGVw
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmggYi9XZWJDb3Jl
L2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAppbmRleCBmZTE4YjZiLi5mODNhNWU4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAorKysgYi9XZWJDb3JlL2h0bWwv
VmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBWYWxpZGF0aW9u
TWVzc2FnZV9oCiAKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIApAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ7CiAKLWNsYXNzIFZhbGlkYXRpb25NZXNzYWdlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkYXRpb25NZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2FnZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNyZWF0ZShIVE1MRm9ybUNvbnRyb2xFbGVtZW50Kik7
CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAppbmRleCA1MzJkZGIy
Li5jM2ZjZGZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBi
L1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxpZGl0eVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlk
aXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCog
Y29udHJvbCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dC5oCmluZGV4IGEyNWU4YTEuLjE1OTQ1NDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiR3Jh
cGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgSFRNTFZpZGVvRWxlbWVudDsK
IGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9iamVjdDsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250
ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYW52YXNSZW5kZXJpbmdDb250ZXh0KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0Nv
bnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNj
YW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRleCA3
YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxv
YWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5o
CkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50Owog
Y2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgogICAgIENTU1ByZWxvYWRTY2FubmVy
KERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0
cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUu
aAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29u
c3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRT
dGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCIKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3
ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIGNsYXNzIERvY3VtZW50OwogY2xhc3Mg
RWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1YmxpYzoKICAgICBIVE1MQ29uc3RydWN0aW9u
U2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiwgYm9vbCBpc1BhcnNp
bmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rpb25TaXRlKCk7CkBAIC04OSw3ICs4OSw4
IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQqIGZvcm0oKSBjb25zdCB7IHJldHVybiBt
X2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gdGFrZUZvcm0o
KTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3Ry
dWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDogbV90cmVlKHRyZWUpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCAwNTA1M2RmLi41YTU2MDJmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAg
Y2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNz
IEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBI
VE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxEb2N1
bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJy
b3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRT
dGFjay5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKaW5kZXggOGE4
ZTE2MC4uYTMyZWZhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVu
dFN0YWNrLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKQEAg
LTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSFRNTEVsZW1lbnRTdGFja19oCiAKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTM5LDEyICszOCwxNCBAQCBjbGFzcyBRdWFsaWZpZWROYW1lOwogCiAvLyBO
T1RFOiBUaGUgSFRNTDUgc3BlYyB1c2VzIGEgYmFja3dhcmRzIChncm93cyBkb3dud2FyZCkgc3Rh
Y2suICBXZSdyZSB1c2luZwogLy8gbW9yZSBzdGFuZGFyZCAoZ3Jvd3MgdXB3YXJkcykgc3RhY2sg
dGVybWlub2xvZ3kgaGVyZS4KLWNsYXNzIEhUTUxFbGVtZW50U3RhY2sgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTEVsZW1lbnRTdGFjayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTEVsZW1lbnRTdGFjayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAgICB+SFRNTEVsZW1lbnRTdGFjaygpOwogCi0gICAg
Y2xhc3MgRWxlbWVudFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRWxl
bWVudFJlY29yZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVsZW1lbnRSZWNvcmQp
OwogICAgIHB1YmxpYzoKICAgICAgICAgfkVsZW1lbnRSZWNvcmQoKTsgLy8gUHVibGljIGZvciB+
UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxG
b3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRp
bmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1YmIuLmY3NWZhNTAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCkBAIC0zNSw3ICszNSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiAKIC8vIFRoaXMgbWF5IGVuZCB1
cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNrLgotY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRm9ybWF0dGluZ0VsZW1l
bnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRm9ybWF0dGluZ0VsZW1lbnRM
aXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CiAgICAgfkhU
TUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVh
bS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRT
dHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBtX2xhc3Qg
aXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9mIHRoZSBhZnRlckluc2VydGlvblBvaW50IHN0cmlu
Z3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRhdGEgYXQgdGhlIGVuZCBvZiB0aGUgSW5wdXRTdHJl
YW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0gdG8gdGhlICJsYXN0IiBzdHJpbmcuCi1jbGFzcyBI
VE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTElucHV0U3Ry
ZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MSW5wdXRTdHJlYW0pOwogcHVibGlj
OgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAgICAgICAgIDogbV9sYXN0KCZtX2ZpcnN0KQpAQCAt
MTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAgICAgU2VnbWVudGVkU3RyaW5nKiBtX2xhc3Q7CiB9
OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5z
ZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEluc2VydGlvblBvaW50
UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRTdHJlYW0pCiAgICAgICAgIDogbV9pbnB1dFN0
cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxl
ci5oCmluZGV4IDViZTMzYjAuLjY0NzYwMjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBh
cnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgsMTQgQEAKIAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAKLWNsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIg
OiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MUGFyc2VyU2No
ZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJzZXIpCiAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5kZXggOTRhOTBlNi4uYmVkNzdmZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAorKysg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIKICNpbmNsdWRlICJIVE1MVG9rZW4u
aCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEhU
TUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiAK
LWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQcmVsb2Fk
U2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEhUTUxQcmVs
b2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5l
ci5oCmluZGV4IDZjZjc0ZDguLjk4NmY3YmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlw
dFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgog
I2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7
CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAK
LWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRN
TFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFNjcmlwdFJ1bm5l
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3du
UHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxTY3Jp
cHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4IDQy
Y2RkYjguLjFjYmMxNTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaApAQCAtMjcsMTMgKzI3LDEz
IEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNsdWRlICJOYW1lZE5vZGVNYXAuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBI
VE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRva2VuIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmluaXRpYWxpemVkLApAQCAtMzEz
LDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBlbmQgdXAgd2l0aCBhIGNsZWFu
ZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgogICAgIGZyaWVuZCBjbGFzcyBB
dG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0YSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBEb2N0eXBlRGF0YSgpCiAg
ICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxzZSkKQEAgLTM1Miw3ICszNTMs
OCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBzaG91bGQgZXZlbnR1YWxseSBi
ZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8gZXhpdGluZyBIVE1MVG9rZW4g
dG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1jbGFzcyBBdG9taWNIVE1MVG9r
ZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWljSFRNTFRva2VuIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwogcHVibGljOgogICAgIEF0b21p
Y0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fdHlwZSh0b2tlbi50eXBl
KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4IGYxNmIwNDkuLmI1MGFhNDIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCisrKyBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVm
aW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+
CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIEhU
TUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW5p
emVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBTdGF0ZSB7
CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3Miw3ICsxNzIsOCBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQt
d29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtCi0gICAgY2xhc3MgSW5wdXRTdHJl
YW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIElucHV0U3Ry
ZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRTdHJl
YW1QcmVwcm9jZXNzb3IpOwogICAgIHB1YmxpYzoKICAgICAgICAgSW5wdXRTdHJlYW1QcmVwcm9j
ZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5pemVyKQogICAgICAgICAgICAgOiBtX3Rva2VuaXpl
cih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXgg
M2QzOTEzMS4uMDQzMWNmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNw
cApAQCAtMjQwLDcgKzI0MCw4IEBAIEhUTUxGb3JtRWxlbWVudCogY2xvc2VzdEZvcm1BbmNlc3Rv
cihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8vIG5hbWVzcGFjZQogCi1jbGFzcyBIVE1MVHJlZUJ1
aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyKTsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyKEF0b21p
Y0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV9jdXJyZW50KHRva2VuLmNoYXJhY3RlcnMo
KS5kYXRhKCkpCkBAIC0yMzM0LDcgKzIzMzUsOCBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cmVw
cm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgcHJvY2Vzc0VuZFRhZyh0
b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9u
TW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmFrZUluc2VydGlvbk1vZGUpOwogcHVi
bGljOgogICAgIEZha2VJbnNlcnRpb25Nb2RlKEhUTUxUcmVlQnVpbGRlciogdHJlZUJ1aWxkZXIs
IEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAgICAgOiBtX3RyZWVCdWlsZGVyKHRyZWVCdWlsZGVy
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKaW5kZXggMGU3NTk3Yy4uYjc0OWU3
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAorKysg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCkBAIC0zMyw3ICszMyw2IEBA
CiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIgogI2luY2x1ZGUgIkhUTUxU
b2tlbml6ZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNTAsNyAr
NDksOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1MRG9jdW1lbnQ7CiBjbGFzcyBOb2Rl
OwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTFRyZWVCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVHJlZUJ1aWxk
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIsIEhU
TUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzLCBib29sIHVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwMyw3ICsyMDMsOCBAQCBwcml2YXRlOgogICAgIHZv
aWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlNb2RlQW5kUmVzZXRNb2RlKEF0b21p
Y0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRGb3JlaWduSW5zZXJ0aW9uTW9kZSgp
OwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250
ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJhZ21lbnRT
Y3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVz
dGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVs
SW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKKysrIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBAIC0yOCw3ICsyOCw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1bnNpZ25lZCYgbmVzdGluZ0xldmVs
KQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5nTGV2ZWwpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuaAppbmRleCAzNTFjNTg0Li4yOTE3Mzc4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgU2NyaXB0Q2FsbEZyYW1lOwogY2xh
c3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFsdWU7CiAKLWNsYXNzIENvbnNvbGVN
ZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbnNvbGVNZXNzYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2FnZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5zaWduZWQgbGksIGNvbnN0
IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCBQYXNzUmVmUHRy
PFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQg
Zyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBjZmI0Li5mZjhkMzhkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRl
ICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKaW5kZXggMTFm
MTBjZS4uNDliZTJhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpZiBFTkFCTEUoSU5TUEVD
VE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQogCiAjaW5jbHVkZSAiQXBw
bGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICsz
OSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNv
bnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oCmluZGV4IDViNDA3ZTAuLjhhNDViYjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmgKQEAgLTEwMSw3ICsxMDEsOCBAQCBjbGFzcyBXZWJTb2NrZXRIYW5kc2hh
a2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2U7CiAjZW5kaWYKIAot
Y2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JD
b250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRl
ZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U+ID4gRGF0YWJh
c2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3Rv
ckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01TdG9yYWdlUmVzb3VyY2VzTWFwOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4IGFkYzkyNWEuLmUxMzcyOWQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTUyLDcg
KzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAgICAgTmF0aXZlQnJlYWtwb2ludERl
YnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVi
bGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JEZWJ1
Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3BlY3RvckZyb250ZW5k
Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmluZGV4IDlkY2FhNWEu
LmJjZWUxZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250
ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3ICs0MCw4IEBAIGNs
YXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiBj
bGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGlj
IEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlciosIFBhZ2UqKTsKICAgICB2aXJ0dWFs
IH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXggZTY3ODQ4ZC4uMWM0OWI5ZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApAQCAtMzUsNyArMzUsNiBAQAogI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDcgKzQ2
LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgU2NyaXB0SGVhcFNuYXBzaG90Owog
Y2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JQcm9maWxlckFnZW50KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIH5J
bnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4uODFhZDQ5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyArNzAsOCBAQCBlbnVtIFRpbWVsaW5l
UmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3RUaW1lbGluZVJlY29yZFR5
cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZl
bnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVu
ZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVy
L0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAppbmRleCAxMDE2YWVkLi5kZGQ1MDcw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENh
Y2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIVFRQ
SGVhZGVyTWFwOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ3Jvc3NPcmln
aW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0oYm9vbCBjcmVkZW50aWFscykKICAgICAgICAgICAg
IDogbV9hYnNvbHV0ZUV4cGlyeVRpbWUoMCkKQEAgLTYzLDcgKzY0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBIZWFkZXJzU2V0IG1faGVhZGVyczsKICAgICB9OwogCi0gICAgY2xh
c3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBDcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li4zYTNjYzY0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsKIAogICAg
IGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2YXRlIFN1
YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25v
dXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShEb2N1bWVudCosIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJl
YWRhYmxlTG9hZGVyT3B0aW9ucyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRXcml0ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKaW5kZXggNWZiM2Rj
MS4uZmI5MzYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNs
YXNzIEZyYW1lOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNv
ZGVyOwogCi1jbGFzcyBEb2N1bWVudFdyaXRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEb2N1bWVudFdyaXRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRXcml0
ZXIpOwogcHVibGljOgogICAgIERvY3VtZW50V3JpdGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKaW5kZXggYTE1Y2VlNS4uNjFiZDg3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTIx
NCw4ICsyMTQsMTAgQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBFbXB0eUZyYW1lTG9h
ZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlGcmFtZUxvYWRlckNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RnJhbWVMb2FkZXJDbGll
bnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkgeyAgfQogICAg
IHZpcnR1YWwgdm9pZCBmcmFtZUxvYWRlckRlc3Ryb3llZCgpIHsgfQogCkBAIC0zODMsOCArMzg1
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29u
dGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVybiBQYXNzUmVmUHRyPEZyYW1l
TmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KIH07CiAKLWNsYXNzIEVtcHR5RWRpdG9yQ2xpZW50IDog
cHVibGljIEVkaXRvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RWRp
dG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRW1wdHlFZGl0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
KyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9yQ2xp
ZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAtNDk2
LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi1j
bGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50LCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1Ymxp
YyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlDb250
ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVt
cHR5Q29udGV4dE1lbnVDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUNvbnRleHRNZW51
Q2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsg
fQogCkBAIC01MTksOCArNTI1LDEwIEBAIHB1YmxpYzoKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi1jbGFzcyBFbXB0eURyYWdDbGll
bnQgOiBwdWJsaWMgRHJhZ0NsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5
RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFbXB0eURyYWdDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAg
ICBFbXB0eURyYWdDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eURyYWdDbGllbnQoKSB7
fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFn
RGVzdGluYXRpb25BY3Rpb24sIERyYWdEYXRhKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQ
ZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25zdCBJbnRQb2ludCYs
IENsaXBib2FyZCopIHsgfQpAQCAtNTMyLDggKzU0MCwxMCBAQCBwdWJsaWM6CiB9OwogI2VuZGlm
IC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKLWNsYXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDog
cHVibGljIEluc3BlY3RvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5
SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRW1wdHlJbnNwZWN0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLmE4MzZmNzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbWFnZUV2ZW50U2VuZGVyKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRl
eCAyOGZkYTlhLi5hNzIxYzg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cApAQCAtNTEsNyArNTEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjaGVk
dWxlZE5hdmlnYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NoZWR1bGVkTmF2
aWdhdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkTmF2aWdhdGlvbik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNjaGVkdWxlZE5hdmlnYXRp
b24oZG91YmxlIGRlbGF5LCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExp
c3QsIGJvb2wgd2FzRHVyaW5nTG9hZCwgYm9vbCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAgICA6
IG1fZGVsYXkoZGVsYXkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKaW5kZXggMTQw
MGMyNS4uZjE0ZDA1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtNDcs
NyArNDcsOCBAQCBjbGFzcyBGcmFtZTsKIHN0cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogY2xhc3Mg
U2NoZWR1bGVkTmF2aWdhdGlvbjsKIAotY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShOYXZpZ2F0aW9uU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBOYXZpZ2F0
aW9uU2NoZWR1bGVyKEZyYW1lKik7CiAgICAgfk5hdmlnYXRpb25TY2hlZHVsZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BpbmdM
b2FkZXIuaAppbmRleCBlYjQzMTY2Li4zZjU2M2ExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9QaW5nTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC0zNCw3
ICszNCw2IEBACiAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUg
IlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJl
c291cmNlUmVzcG9uc2U7CiAvLyB0byBhbGxvdyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5vdWdo
IHRvIGVuc3VyZSB0aGUgbWVzc2FnZSB3YXMgYWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9yZSwg
YXMgc29vbiBhcyBhIGNhbGxiYWNrIGlzIHJlY2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFuZGxl
LCB0aGlzIGNsYXNzIAogLy8gd2lsbCBjYW5jZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNlbGYu
Ci1jbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxl
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1l
KiwgY29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNv
bnN0IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGlj
eUNoZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5o
CkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJj
ZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2Vy
KEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjY1
ZGQxYzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysr
IGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBz
dGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5p
dGlhbFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0
RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9u
Y29weWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAg
UHJvZ3Jlc3NJdGVtKGxvbmcgbG9uZyBsZW5ndGgpIAogICAgICAgICA6IGJ5dGVzUmVjZWl2ZWQo
MCkKICAgICAgICAgLCBlc3RpbWF0ZWRMZW5ndGgobGVuZ3RoKSB7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NU
cmFja2VyLmgKaW5kZXggNWQ1YjZiMi4uNjBlYjhmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgUHJvZ3Jlc3NUcmFja2VyX2gKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNiw3ICszNSw4IEBA
IGNsYXNzIEZyYW1lOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0
ZW07CiAKLWNsYXNzIFByb2dyZXNzVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQcm9ncmVzc1RyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJh
Y2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFByb2dyZXNzVHJh
Y2tlcigpOwogICAgIH5Qcm9ncmVzc1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaCBiL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAppbmRleCBiNmRlMzEyLi4x
NTcxZDFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvUmVxdWVzdC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRl
cjsKIAotICAgIGNsYXNzIFJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFJlcXVlc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXF1ZXN0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJl
c291cmNlTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0
eUNoZWNrUG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+
UmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZp
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1
Ni4uMjcwNDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZp
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3
ICszMCw2IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3Vy
Y2VMb2FkTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsK
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNz
IFJlc291cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWRO
b3RpZmllcik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBA
QAogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQz
LDcgKzQyLDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2Fk
ZXI7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVk
dWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsK
IHB1YmxpYzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRT
Y2hlZHVsZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1
bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGlt
ZXI8UmVzb3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoK
ICAgICAgICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAg
ICAgfkhvc3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJh
bWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0
NS4uZDExZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4
IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlz
bm9tZXIuIEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGgg
c3ViZnJhbWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFN1YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJl
YWRhYmxlTG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAvLyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVh
ZCAobm90IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBv
dGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNs
aWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7
IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAg
ICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFk
YWJsZUxvYWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dC5oCmluZGV4IGJjZjY4YmUuLmNlYThiMGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVz
b3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVh
ZGFibGVMb2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLypi
eXRlc1NlbnQqLywgdW5zaWduZWQgbG9uZyBsb25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8pIHsg
fQogCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJikgeyB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQoKSB7IH0KICAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJsZUxvYWRlckNsaWVudCgp
IHsgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXJDbGllbnRXcmFwcGVyLmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
V3JhcHBlci5oCmluZGV4IGQzYzFhOWYuLmQ0ZmVhY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmlu
ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcl9oCiAKICNpbmNsdWRlICJUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAppbmRleCA4MWRhMmUwLi42NWNjNjM3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCkBAIC01NCw2ICs1NCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3RE
YXRhOwogCiAgICAgY2xhc3MgV29ya2VyVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFdvcmtlclRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFi
bGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVh
ZGFibGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9w
dGlvbnMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5oCmluZGV4IDI5ZDA3NDkuLjkxYWMyOGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAtNTMsNyArNTIsOCBAQCBlbnVtIEFwcGxpY2F0aW9u
Q2FjaGVVcGRhdGVPcHRpb24gewogICAgIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJv
d3NpbmdDb250ZXh0CiB9OwogCi1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMg
Tm9uY29weWFibGUsIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cCA6IFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShBcHBsaWNhdGlvbkNhY2hlR3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBBcHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJv
b2wgaXNDb3B5ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5o
IGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4
YWM1MzU3Li5hMWYyODQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVIb3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBs
aWNhdGlvbkNhY2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGlj
YXRpb25DYWNoZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlv
bkNhY2hlSG9zdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgLy8gVGhlIFN0YXR1cyBudW1lcmljIHZhbHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBIVE1M
NSBzcGVjLgogICAgICAgICBlbnVtIFN0YXR1cyB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGIvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaAppbmRleCA3ZGIzNGU2Li44YmZkZjEzIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
LmgKQEAgLTQ0LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURK
b3VybmFsOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVT
dG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVudW0gRmFpbHVyZVJlYXNv
biB7CiAgICAgICAgIE9yaWdpblF1b3RhUmVhY2hlZCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oIGIvV2ViQ29yZS9sb2FkZXIv
YXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKaW5kZXggOWQ2MzBkMS4uZmQyZGRi
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uLmgKQEAgLTM5LDcgKzM5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oCmluZGV4IDlhNTRjNTMuLmFlNmY3NTEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBSZXF1ZXN0OwogLy8g
QSByZXNvdXJjZSB0aGF0IGlzIGhlbGQgaW4gdGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRv
IHVzZSB0aGlzIG9iamVjdCBzaG91bGQgZGVyaXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xp
ZW50LCB0byBnZXQgdGhlIGZ1bmN0aW9uIGNhbGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRh
IGhhcyBhcnJpdmVkLgogLy8gVGhpcyBjbGFzcyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5p
Y2F0aW9uIHdpdGggdGhlIGxvYWRlciB0byBvYnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5l
dHdvcmsuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBDYWNoZWRSZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3Vy
Y2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2Fj
aGU7CiAgICAgZnJpZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uMjFlYTAy
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0y
NSw3ICsyNSw2IEBACiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2Fj
aGVkUmVzb3VyY2VDbGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0
NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFz
cyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0g
ICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAg
IHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2FjaGVkUmVzb3Vy
Y2VDbGllbnQoKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmgKaW5kZXggZjM3MWEwZS4uNmQ0YTdhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEltYWdlTG9hZGVy
OwogY2xhc3MgS1VSTDsKIAogLy8gVGhlIENhY2hlZFJlc291cmNlTG9hZGVyIG1hbmFnZXMgdGhl
IGxvYWRpbmcgb2Ygc2NyaXB0cy9pbWFnZXMvc3R5bGVzaGVldHMgZm9yIGEgc2luZ2xlIGRvY3Vt
ZW50LgotY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENh
Y2hlZFJlc291cmNlTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBmcmllbmQgY2xh
c3MgTWVtb3J5Q2FjaGU7CiBmcmllbmQgY2xhc3MgSW1hZ2VMb2FkZXI7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCmluZGV4IDE1Y2U5ZGEuLmQwODQ5ZTUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgImxvYWRlci5oIgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC03MSw3ICs3MCw4IEBAIGNsYXNzIEtVUkw7CiAv
LyBpdHMgbWVtYmVyIHZhcmlhYmxlcykgYXJlIGFsbG9jYXRlZCBpbiBub24tcHVyZ2VhYmxlIFRD
LW1hbGxvYydkIG1lbW9yeSBzbyB3ZSB3b3VsZCBzZWUgc2xpZ2h0bHkKIC8vIG1vcmUgbWVtb3J5
IHVzZSBkdWUgdG8gdGhpcy4KIAotY2xhc3MgTWVtb3J5Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTWVtb3J5Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lbW9y
eUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIE1l
bW9yeUNhY2hlKiBjYWNoZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2
MTQ2YWE2Li5lYzg3YmY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgog
CkBAIC02Miw4ICs2MSw4IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRV
bmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewot
CitjbGFzcyBJY29uRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRh
YmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogLy8gKioqIE1haW4gVGhyZWFkIE9ubHkg
KioqCiBwdWJsaWM6CiAgICAgdm9pZCBzZXRDbGllbnQoSWNvbkRhdGFiYXNlQ2xpZW50Kik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oIGIvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaAppbmRleCBjMjEwZDdkLi40YWUy
ZWM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5o
CisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKQEAgLTMwLDE1
ICszMCwxNiBAQAogI2RlZmluZSBJY29uRGF0YWJhc2VDbGllbnRfaAogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gQWxsIG9mIHRo
ZXNlIGNsaWVudCBtZXRob2RzIHdpbGwgYmUgY2FsbGVkIGZyb20gYSBub24tbWFpbiB0aHJlYWQK
IC8vIFRha2UgYXBwcm9wcmlhdGUgbWVhc3VyZXMKICAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElj
b25EYXRhYmFzZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNl
Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgSWNvbkRhdGFi
YXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+SWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAg
ICAgdmlydHVhbCBib29sIHBlcmZvcm1JbXBvcnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVtb3ZlQWxsSWNvbnMoKSB7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
TG9hZGVyLmgKaW5kZXggMWViYWM0OC4uN2Q4MDg5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvaWNvbi9JY29uTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVy
LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50
LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3
LDcgKzM2LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBLVVJMOwogY2xhc3MgU2hhcmVkQnVmZmVy
OwogCi1jbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291
cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIv
aWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5kZXggZjdjY2I4Zi4uYTVlNTVhZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
aWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVi
bGljOgogICAgIFN0cmluZyBpY29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlVVJMUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgUGFnZVVSTFJlY29yZChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdl
VVJMUmVjb3JkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9sb2FkZXIuaCBiL1dlYkNv
cmUvbG9hZGVyL2xvYWRlci5oCmluZGV4IDgxOGY1NmYuLjIzMjA0MzcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL2xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCkBAIC0y
Niw3ICsyNiw2IEBACiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJT
dWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw4ICszNCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAgICAgY2xhc3MgUmVxdWVzdDsKIAotICAg
IGNsYXNzIExvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHJpdmF0ZSBTdWJyZXNvdXJjZUxv
YWRlckNsaWVudCB7CisgICAgY2xhc3MgTG9hZGVyIDogU3VicmVzb3VyY2VMb2FkZXJDbGllbnQg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2FkZXIpOwogICAgIHB1YmxpYzoKKyAg
ICAgICAgTG9hZGVyKCkgeyB9CiAgICAgICAgIH5Mb2FkZXIoKTsKIAogICAgICAgICB2b2lkIGxv
YWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50
YWwgPSB0cnVlLCBTZWN1cml0eUNoZWNrUG9saWN5ID0gRG9TZWN1cml0eUNoZWNrLCBib29sIHNl
bmRSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSB0cnVlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uaAppbmRleCBmMTRhMzAyLi43MzEzMWU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBXb3JrZXJDb250ZXh0OwogCiAgICAgY2xhc3MgTm90aWZpY2F0aW9uIDogcHVibGljIFJlZkNv
dW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBFdmVudFRhcmdldCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25D
ZW50ZXI+IHByb3ZpZGVyKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9u
PiBjcmVhdGUoY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmIGNvbnRlbnRzLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
aAppbmRleCA4MzNiOTA5Li5hMjRkMTI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbnRleHRNZW51Q29udHJvbGxlcl9oCiAj
ZGVmaW5lIENvbnRleHRNZW51Q29udHJvbGxlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBFdmVudDsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
Q29udGV4dE1lbnVDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
b250ZXh0TWVudUNvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250
ZXh0TWVudUNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIENvbnRleHRNZW51Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQq
KTsKICAgICAgICAgfkNvbnRleHRNZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApp
bmRleCAwZTkwYTUyLi4zNjBlNDYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2Vs
ZWN0aW9uQ29udHJvbGxlcjsKICAgICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEcmFnQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgRHJhZ0NvbnRyb2xsZXIoUGFnZSosIERyYWdDbGllbnQq
KTsKICAgICAgICAgfkRyYWdDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmggYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggY2ExOWEw
Yy4uNDc4MDYxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBi
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtODAsNyArODAsOCBAQCBleHRlcm4gY29u
c3QgaW50IEdlbmVyYWxEcmFnSHlzdGVyZXNpczsKIAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7
IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJzLCBEb250SGl0VGVzdFNjcm9sbGJhcnMgfTsKIAotY2xh
c3MgRXZlbnRIYW5kbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEV2ZW50SGFuZGxl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRIYW5kbGVyKTsKIHB1YmxpYzoKICAg
ICBFdmVudEhhbmRsZXIoRnJhbWUqKTsKICAgICB+RXZlbnRIYW5kbGVyKCk7CkBAIC0yMjIsNyAr
MjIzLDEwIEBAIHByaXZhdGU6CiAgICAgICAgIFBlcmZvcm1EcmFnQW5kRHJvcAogICAgIH07CiAK
LSAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlIDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFdmVudEhhbmRsZXJEcmFnU3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBw
dWJsaWM6CisgICAgICAgIEV2ZW50SGFuZGxlckRyYWdTdGF0ZSgpIHsgfQogICAgICAgICBSZWZQ
dHI8Tm9kZT4gbV9kcmFnU3JjOyAvLyBlbGVtZW50IHRoYXQgbWF5IGJlIGEgZHJhZyBzb3VyY2Us
IGZvciB0aGUgY3VycmVudCBtb3VzZSBnZXN0dXJlCiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNM
aW5rOwogICAgICAgICBib29sIG1fZHJhZ1NyY0lzSW1hZ2U7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IGZm
ZWQ1OTIuLjEwYWQ2YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisr
KyBiL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiAgICAgY2xhc3MgRXZl
bnRTb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVudFRh
cmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
dXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2
aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29u
dHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IGJlNTFjNzcu
LjI4NTBkODggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNs
dWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5
LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1j
bGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXND
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb2N1c0NvbnRyb2xsZXIoUGFn
ZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmggYi9XZWJDb3JlL3Bh
Z2UvRnJhbWVUcmVlLmgKaW5kZXggOTRiOGQxNi4uYmFjNTQ3NSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0ZyYW1lVHJlZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaApAQCAtMjYs
NyArMjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAg
IGNsYXNzIEZyYW1lVHJlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhbWVU
cmVlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVUcmVlKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIEZyYW1lVHJlZShGcmFtZSogdGhpc0ZyYW1lLCBGcmFtZSogcGFyZW50RnJh
bWUpIAogICAgICAgICAgICAgOiBtX3RoaXNGcmFtZSh0aGlzRnJhbWUpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmlu
ZGV4IDA2N2E4ZTguLjE1MWZiZmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMDYsNyArMTA2LDEwIEBA
IGRvdWJsZSBGcmFtZVZpZXc6OnNfZGVmZXJyZWRSZXBhaW50RGVsYXlJbmNyZW1lbnREdXJpbmdM
b2FkaW5nID0gMDsKIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiB1cGRhdGVXaWRnZXRzIGl0ZXJh
dGlvbnMgdGhhdCBzaG91bGQgYmUgZG9uZSBiZWZvcmUgcmV0dXJuaW5nLgogc3RhdGljIGNvbnN0
IHVuc2lnbmVkIG1heFVwZGF0ZVdpZGdldHNJdGVyYXRpb25zID0gMjsKIAotc3RydWN0IFNjaGVk
dWxlZEV2ZW50IDogTm9uY29weWFibGUgeworc3RydWN0IFNjaGVkdWxlZEV2ZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRFdmVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIFNjaGVkdWxlZEV2ZW50KCkgeyB9CiAgICAgUmVmUHRyPEV2ZW50
PiBtX2V2ZW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2V2ZW50VGFyZ2V0OwogfTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9H
ZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAppbmRleCAyZDgxMDZkLi4xNmM3ZWM4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdl
L0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJH
ZW9sb2NhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEdlb2xvY2F0aW9uRXJyb3I7CiBjbGFzcyBHZW9s
b2NhdGlvblBvc2l0aW9uOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgR2VvbG9jYXRpb25Db250cm9s
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25Db250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXIoUGFnZSosIEdlb2xvY2F0aW9uQ2xpZW50Kik7
CiAgICAgfkdlb2xvY2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L0dyb3VwU2V0dGluZ3MuaCBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKaW5kZXggZmI2
ZjZiNS4uMWJiYWQyYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaAor
KysgYi9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFnZUdyb3VwOwogCi1jbGFzcyBHcm91cFNldHRpbmdz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdyb3VwU2V0dGluZ3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEdyb3VwU2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCmluZGV4IGE5Mzg5MzIuLmU0MTc4MjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdl
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUg
IlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExB
VEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgpAQCAtOTAsMTIgKzg5LDE1IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJl
Y3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2Ug
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNj
aGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JBbGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlz
IHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBw
cm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9u
Y29weWFibGUgeworICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVudHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
KyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUGFnZUNsaWVudHMoKTsKICAgICAgICAgICAg
IH5QYWdlQ2xpZW50cygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgg
Yi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKaW5kZXggY2M0N2ZiYS4uNmQ3ZDZjZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3Jv
dXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQYWdlR3JvdXBfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJM
aW5rSGFzaC5oIgogI2luY2x1ZGUgIlVzZXJTY3JpcHQuaCIKICNpbmNsdWRlICJVc2VyU3R5bGVT
aGVldC5oIgpAQCAtNDEsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
UGFnZTsKICAgICBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlOwogCi0gICAgY2xhc3MgUGFnZUdyb3Vw
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlR3JvdXAgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cChjb25zdCBTdHJpbmcmIG5hbWUpOwogICAg
ICAgICBQYWdlR3JvdXAoUGFnZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cExvYWREZWZlcnJlci5oIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmlu
ZGV4IGQ0NDNlYmQuLmY3OTU2YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBM
b2FkRGVmZXJyZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgK
QEAgLTI4LDcgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwog
ICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVi
bGljOgogICAgICAgICBQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxm
KTsKICAgICAgICAgflBhZ2VHcm91cExvYWREZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL1BsdWdpbkhhbHRlci5oIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4
IGFmOGIzMWUuLjViOTZkMTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIu
aAorKysgYi9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIYWx0YWJsZVBsdWdpbjsKIAotY2xhc3MgUGx1Z2lu
SGFsdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpbkhhbHRlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luSGFsdGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVyKFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCmluZGV4IGM2NTNhZGQuLjEwZjQwMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNs
dWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0
aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2V0
dGluZ3MoUGFnZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaCBi
L1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCmluZGV4IDQ1MzJkNDkuLjg1M2MwYWEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCisrKyBiL1dlYkNvcmUvcGFnZS9TcGVl
Y2hJbnB1dC5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5l
ci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC00Nyw3ICs0Niw4IEBAIGNsYXNzIFNwZWVjaElucHV0TGlzdGVuZXI7CiAvLyBUaGlzIGNsYXNz
IGNvbm5lY3RzIHRoZSBpbnB1dCBlbGVtZW50cyByZXF1aXJpbmcgc3BlZWNoIGlucHV0IHdpdGgg
dGhlIHBsYXRmb3JtIHNwZWNpZmljCiAvLyBzcGVlY2ggcmVjb2duaXRpb24gZW5naW5lLiBJdCBw
cm92aWRlcyBtZXRob2RzIGZvciB0aGUgaW5wdXQgZWxlbWVudHMgdG8gYWN0aXZhdGUgc3BlZWNo
CiAvLyByZWNvZ25pdGlvbiBhbmQgbWV0aG9kcyBmb3IgdGhlIHNwZWVjaCByZWNvZ25pdGlvbiBl
bmdpbmUgdG8gcmV0dXJuIGJhY2sgdGhlIHJlc3VsdHMuCi1jbGFzcyBTcGVlY2hJbnB1dCA6IHB1
YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFNwZWVjaElucHV0TGlzdGVuZXIgeworY2xhc3MgU3Bl
ZWNoSW5wdXQgOiBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU3BlZWNoSW5wdXQpOwogcHVibGljOgogICAgIFNwZWVjaElucHV0KFNwZWVjaElu
cHV0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+U3BlZWNoSW5wdXQoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCmluZGV4
IDA2NTI0MzkuLjA1MTQwOTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgK
KysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTY3JpcHQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVXNlclNjcmlwdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclNjcmlw
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29u
c3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NP
d25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmlu
Zz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aCBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCmluZGV4IGZhNDJlMmMuLjA2OGRmMWUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCisrKyBiL1dlYkNvcmUv
cGFnZS9Vc2VyU3R5bGVTaGVldC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgVXNlclN0eWxlU2hlZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVXNlclN0eWxlU2hlZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTdHlsZVNo
ZWV0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVXNlclN0eWxlU2hl
ZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAg
ICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZl
Y3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKaW5kZXggMmI3ODFmMS4uNWJlZWQ2
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaAorKysgYi9XZWJDb3JlL3Bh
Z2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxkTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNy
YyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2NyaXB0IHNjcmlwdHMuCiAgICAgLy8gKiBT
dWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVzZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1i
ZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3MgWFNTQXVkaXRvciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFhTU0F1ZGl0b3IoRnJhbWUqKTsKICAgICAgICAgflhTU0F1ZGl0b3IoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCmluZGV4IDY2MTcyZjcuLjY4NTUx
ZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcApAQCAtMjE5LDcg
KzIxOSw4IEBAIGNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2U7CiBzdGF0aWMgdm9pZCBhZGRTaG9y
dGhhbmRQcm9wZXJ0aWVzKCk7CiBzdGF0aWMgUHJvcGVydHlXcmFwcGVyQmFzZSogd3JhcHBlckZv
clByb3BlcnR5KGludCBwcm9wZXJ0eUlEKTsKIAotY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQcm9wZXJ0eVdyYXBwZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvcGVydHlXcmFwcGVyQmFzZShpbnQgcHJvcCkKICAg
ICAgICAgOiBtX3Byb3AocHJvcCkKQEAgLTQzOCw3ICs0MzksOCBAQCBwdWJsaWM6CiB9OwogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRl
ciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxM
YXllclByb3BlcnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZpbGxM
YXllclByb3BlcnR5V3JhcHBlckdldHRlcik7CiBwdWJsaWM6CiAgICAgRmlsbExheWVyUHJvcGVy
dHlXcmFwcGVyR2V0dGVyKFQgKEZpbGxMYXllcjo6KmdldHRlcikoKSBjb25zdCkKICAgICAgICAg
OiBtX2dldHRlcihnZXR0ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKaW5kZXggODkzYzcxNy4uYzg0ZGQ1NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisr
KyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApA
QCAtNDksNyArNDksOCBAQCBjbGFzcyBOb2RlOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3Mg
UmVuZGVyU3R5bGU7CiAKLWNsYXNzIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
KEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oIGIvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaAppbmRleCAyNDlmNGMzLi4wZDBiYjFm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5o
CisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKQEAgLTMy
LDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIktl
eWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCAy
ZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxl
ck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzcs
NyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1cnJlbnROU0V2ZW50KCkKICAgICBy
ZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9CiAKLWNsYXNzIEN1cnJlbnRFdmVu
dFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEN1cnJlbnRFdmVudFNjb3BlIHsK
KyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2ZW50U2NvcGUpOwogcHVibGljOgog
ICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAgICAgfkN1cnJlbnRFdmVudFNjb3Bl
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRleCBkOTZjMWFkLi5jMzRhNjQ0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgQXN5
bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyQ2xpZW50OwogCiAv
LyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFjZSBmb3IgcGxhdGZvcm0tc3BlY2lm
aWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3RlIHRoYXQgYWxsIHRoZSBtZXRob2Rz
IHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1YWwgfkFzeW5jRmlsZVN5
c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3Rl
bUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3Mu
aAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxl
U3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBAIGNsYXNzIEFzeW5jRmlsZVN5c3Rl
bTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBGaWxlTWV0YWRhdGE7CiAKLWNsYXNz
IEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBB
c3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5j
RmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAgQXN5bmNGaWxlU3lzdGVtQ2FsbGJh
Y2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4gYSByZXF1ZXN0ZWQgb3BlcmF0aW9u
IGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmlydHVhbCB2b2lkIGRpZFN1Y2NlZWQo
KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCmluZGV4IGQ0NGVlMWUuLmQ2NTU0
MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApAQCAtMjksNyArMjksNiBAQAogI2lm
bmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRvZHJhaW5lZFBvb2xfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TQXV0
b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRvZHJhaW5lZFBvb2wgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29sIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgogICAgIEF1dG9kcmFpbmVkUG9vbChp
bnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2RyYWluZWRQb29sKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmggYi9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uNTlhMDJiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0TWVudV9oCiAjZGVmaW5lIENvbnRl
eHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ29u
dGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgpAQCAtNDUsOCArNDQs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnRFZmw7
CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDogcHVibGljIE5vbmNvcHlhYmxlCi0g
ICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKICAgICAgICAgQ29udGV4
dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IFBsYXRmb3JtTWVudURlc2NyaXB0aW9u
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCmluZGV4IGU3MDI5MjEuLmQ5ZTI1NjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApAQCAtMjUyLDcgKzI1Miw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlv
bjsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKFBsYXRm
b3JtTWVudUl0ZW1EZXNjcmlwdGlvbik7CiAgICAgICAgIENvbnRleHRNZW51SXRlbShDb250ZXh0
TWVudSogc3ViTWVudSA9IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNh
dGVkUHRyTGlzdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCmluZGV4
IDQ3Y2Q1MzguLjBhNGE1MTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKQEAg
LTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBEZXByZWNhdGVkUHRyTGlzdF9oCiAKICNpbmNsdWRl
ICJEZXByZWNhdGVkUHRyTGlzdEltcGwuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXBy
ZWNhdGVkUHRyTGlzdEl0ZXJhdG9yOwogCi10ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVj
YXRlZFB0ckxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4g
Y2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxf
aXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRl
bF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlz
dEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmlu
ZGV4IDk2ZmQ1MTMuLmVmMjk5NTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJM
aXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5j
bHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVj
YXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlz
dE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlcHJlY2F0ZWRMaXN0Tm9kZSh2
b2lkICpkKSA6IGRhdGEoZCksIG5leHQoMCksIHByZXYoMCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmggYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5o
CmluZGV4IGIwNTA3ZjcuLjhmNjQ3NDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRXZl
bnRMb29wLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaApAQCAtMjYsMTEgKzI2
LDExIEBACiAjaWZuZGVmIEV2ZW50TG9vcF9oCiAjZGVmaW5lIEV2ZW50TG9vcF9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xh
c3MgRXZlbnRMb29wIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudExvb3Ag
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudExvb3ApOwogICAgIHB1YmxpYzoK
ICAgICAgICAgRXZlbnRMb29wKCkKICAgICAgICAgICAgIDogbV9lbmRlZChmYWxzZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCmluZGV4IDE1ODVmNjUuLmQ2MGFlNmYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRl
ZiBHZW9sb2NhdGlvblNlcnZpY2VfaAogI2RlZmluZSBHZW9sb2NhdGlvblNlcnZpY2VfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDIsOCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGdlb2xvY2F0aW9uU2VydmljZUVycm9yT2NjdXJyZWQoR2VvbG9jYXRpb25TZXJ2
aWNlKikgPSAwOwogfTsKIAotY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uU2VydmljZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR2VvbG9jYXRpb25TZXJ2aWNlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgR2VvbG9jYXRp
b25TZXJ2aWNlKiBjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50Kik7CiAgICAgdmlydHVh
bCB+R2VvbG9jYXRpb25TZXJ2aWNlKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L0hvc3RXaW5kb3cuaCBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCmluZGV4IDc4ODJk
NDguLjIyNTg4NGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBAIC0yNiwxNSArMjYsMTYgQEAKICNp
Zm5kZWYgSG9zdFdpbmRvd19oCiAjZGVmaW5lIEhvc3RXaW5kb3dfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQ3Vyc29yOwogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RX
aW5kb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBIb3N0V2luZG93
KCkgeyB9CiAgICAgdmlydHVhbCB+SG9zdFdpbmRvdygpIHsgfQogCiAgICAgLy8gUmVxdWVzdHMg
dGhlIGhvc3QgaW52YWxpZGF0ZSB0aGUgd2luZG93LCBub3QgdGhlIGNvbnRlbnRzLiAgSWYgaW1t
ZWRpYXRlIGlzIHRydWUgZG8gc28gc3luY2hyb25vdXNseSwgb3RoZXJ3aXNlIGFzeW5jLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oCmluZGV4IDhlMjczNTAuLmI2ODcyNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vS2lsbFJpbmcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKQEAgLTMx
LDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgS2lsbFJpbmcgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZvaWQgYXBwZW5kKGNvbnN0
IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmlu
ZGV4IDdkZDg3NWUuLjkzNDU0MjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3Ro
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIsNyArMjIsNiBAQAogI2Rl
ZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25zdCBpbnQgaW50TWluRm9y
TGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQK
IAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0
aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBMZW5ndGggOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIExlbmd0aCgpCiAgICAgICAgIDogbV92YWx1ZSgwKQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Q
YXN0ZWJvYXJkLmgKaW5kZXggN2M1MDczNy4uZjBiMmU5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgK
QEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRG
T1JNKE1BQykKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC04MSw3ICs4MCw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIGNsYXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICAKLWNs
YXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFzdGVib2FyZCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFzdGVib2FyZCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICAvL0hlbHBlciBmdW5jdGlv
bnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNoYXJlIGNvZGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IGJjMjhlODQuLmFlZTk1YjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApAQCAtNzUsNyArNzUsOCBAQCB0eXBlZGVmIHVu
c2lnbmVkIGxvbmcgaW50IHVpbnQzMjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xh
c3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNs
YXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtl
eURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwg
YW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQg
aXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVC
dWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJk
NS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcs
MTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3Jp
dHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRy
PFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAg
ICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhjNTI5ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRp
bWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxv
b3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFz
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6
CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJh
c2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uZjEwNjkxMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50
OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFy
VGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CisgICAgU2Nyb2xsYmFyVGhlbWUoKSB7IH0KICAgICB2aXJ0dWFsIH5T
Y3JvbGxiYXJUaGVtZSgpIHt9OwogCiAgICAgdmlydHVhbCBib29sIHBhaW50KFNjcm9sbGJhcios
IEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIC8qZGFtYWdlUmVjdCovKSB7IHJldHVy
biBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCmluZGV4IDViNWNkMTQuLjcxMWU2YjUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBTaGFyZWRU
aW1lcl9oCiAjZGVmaW5lIFNoYXJlZFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBFYWNoIHRocmVhZCBoYXMgaXRz
IG93biBzaW5nbGUgaW5zdGFuY2Ugb2Ygc2hhcmVkIHRpbWVyLCB3aGljaCBpbXBsZW1lbnRzIHRo
aXMgaW50ZXJmYWNlLgogICAgIC8vIFRoaXMgaW5zdGFuY2UgaXMgc2hhcmVkIGJ5IGFsbCB0aW1l
cnMgaW4gdGhlIHRocmVhZC4KICAgICAvLyBOb3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3Rs
eTsgdXNlIHRoZSBUaW1lciBjbGFzcyBpbnN0ZWFkLgotICAgIGNsYXNzIFNoYXJlZFRpbWVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTaGFyZWRUaW1lciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNoYXJlZFRpbWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgorICAgICAgICBTaGFyZWRUaW1lcigpIHsgfQogICAgICAgICB2aXJ0dWFs
IH5TaGFyZWRUaW1lcigpIHt9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRGaXJlZEZ1bmN0aW9u
KHZvaWQgKCopKCkpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaAppbmRleCA5
ZjU3ZjAwLi5lODQyYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2Jh
bERhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaApAQCAtMjks
NyArMjksNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0hhc2guaD4KIAogI2lmIEVOQUJMRShXT1JLRVJTKQpAQCAtNDUsNyArNDQsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IFRFQ0NvbnZlcnRlcldyYXBwZXI7CiAgICAg
Y2xhc3MgVGhyZWFkVGltZXJzOwogCi0gICAgY2xhc3MgVGhyZWFkR2xvYmFsRGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkR2xvYmFsRGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZEdsb2JhbERhdGEpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAgICAgICB+VGhyZWFkR2xvYmFsRGF0YSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmgKaW5kZXggYWI0MjU5OC4uZjk5OTQwYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVh
ZFRpbWVycy5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaWZuZGVmIFRocmVhZFRpbWVyc19oCiAjZGVm
aW5lIFRocmVhZFRpbWVyc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzcsNyAr
MzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGltZXJCYXNlOwogCiAgICAg
Ly8gQSBjb2xsZWN0aW9uIG9mIHRpbWVycyBwZXIgdGhyZWFkLiBLZXB0IGluIFRocmVhZEdsb2Jh
bERhdGEuCi0gICAgY2xhc3MgVGhyZWFkVGltZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBUaHJlYWRUaW1lcnMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJl
YWRUaW1lcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uODVmMGRhZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGlt
ZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5lIFRpbWVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFRpbWVyQmFzZSgpOwogICAgIHZpcnR1YWwgflRpbWVyQmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQu
aAppbmRleCA5ZDlhYzFmLi5iODcyYWRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Ry
ZWVTaGFyZWQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMjIsNyAr
MjIsNiBAQAogI2RlZmluZSBUcmVlU2hhcmVkX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMiw3ICszMSw4IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQ7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFk
b3B0ZWQoVHJlZVNoYXJlZDxUPiopOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFRyZWVTaGFyZWQgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgVHJlZVNoYXJlZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJlZVNoYXJl
ZCk7CiBwdWJsaWM6CiAgICAgVHJlZVNoYXJlZCgpCiAgICAgICAgIDogbV9yZWZDb3VudCgxKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCmluZGV4IDlhMzM0Y2Eu
LmJmOGZmOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlv
bkxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgK
QEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBbmltYXRp
b25MaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQW5pbWF0aW9uTGlzdCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uTGlzdCgp
IHsgfQogICAgIEFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlzdCYpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0J1cy5oCmluZGV4IDQzMThiODEuLjM5OGUxMjcgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgQXVkaW9CdXNfaAogCiAjaW5j
bHVkZSAiQXVkaW9DaGFubmVsLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM5
LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQW4gQXVkaW9CdXMgcmVwcmVzZW50
cyBhIGNvbGxlY3Rpb24gb2Ygb25lIG9yIG1vcmUgQXVkaW9DaGFubmVscy4KIC8vIFRoZSBkYXRh
IGxheW91dCBpcyAicGxhbmFyIiBhcyBvcHBvc2VkIHRvICJpbnRlcmxlYXZlZCIuCiAvLyBBbiBB
dWRpb0J1cyB3aXRoIG9uZSBjaGFubmVsIGlzIG1vbm8sIGFuIEF1ZGlvQnVzIHdpdGggdHdvIGNo
YW5uZWxzIGlzIHN0ZXJlbywgZXRjLgotY2xhc3MgQXVkaW9CdXMgIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEF1ZGlvQnVzICB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVkaW9C
dXMgKTsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAgQ2hhbm5lbExlZnQgPSAwLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggNjgxNjgzMC4uNzMyNWU5ZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNk
ZWZpbmUgQXVkaW9DaGFubmVsX2gKIAogI2luY2x1ZGUgIkF1ZGlvQXJyYXkuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuIEF1ZGlvQ2hhbm5lbCByZXByZXNlbnRzIGEgYnVmZmVy
IG9mIG5vbi1pbnRlcmxlYXZlZCBmbG9hdGluZy1wb2ludCBhdWRpbyBzYW1wbGVzLgogLy8gVGhl
IFBDTSBzYW1wbGVzIGFyZSBub3JtYWxseSBhc3N1bWVkIHRvIGJlIGluIGEgbm9taW5hbCByYW5n
ZSAtMS4wIC0+ICsxLjAKLWNsYXNzIEF1ZGlvQ2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBBdWRpb0NoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQ2hh
bm5lbCk7CiBwdWJsaWM6CiAgICAgLy8gTWVtb3J5IGNhbiBiZSBleHRlcm5hbGx5IHJlZmVyZW5j
ZWQsIG9yIGNhbiBiZSBpbnRlcm5hbGx5IGFsbG9jYXRlZCB3aXRoIGFuIEF1ZGlvRmxvYXRBcnJh
eS4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKaW5kZXggYzMzYjM4Zi4uMzUx
NDY5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCkBAIC0zMSw3ICszMSw2
IEBACiAKICNpbmNsdWRlICJIUlRGRWxldmF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBA
IC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFJURktlcm5lbDsK
IAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZE
YXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkRhdGFiYXNlKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIUlRGRGF0YWJhc2U+IGNyZWF0ZShkb3VibGUgc2Ft
cGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZh
dGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKaW5kZXggYjM4
OGIzNC4uZjQ0NDQ0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxl
dmF0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSFJURkVsZXZhdGlvbl9oCiAKICNpbmNsdWRlICJIUlRG
S2VybmVsLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBIUlRG
RWxldmF0aW9uIGNvbnRhaW5zIGFsbCBvZiB0aGUgSFJURktlcm5lbHMgKG9uZSBsZWZ0IGVhciBh
bmQgb25lIHJpZ2h0IGVhciBwZXIgYXppbXV0aCBhbmdsZSkgZm9yIGEgcGFydGljdWxhciBlbGV2
YXRpb24uCiAKLWNsYXNzIEhSVEZFbGV2YXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFJURkVsZXZhdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkVsZXZhdGlv
bik7CiBwdWJsaWM6CiAgICAgLy8gTG9hZHMgYW5kIHJldHVybnMgYW4gSFJURkVsZXZhdGlvbiB3
aXRoIHRoZSBnaXZlbiBIUlRGIGRhdGFiYXNlIHN1YmplY3QgbmFtZSBhbmQgZWxldmF0aW9uIGZy
b20gYnJvd3NlciAob3IgV2ViS2l0LmZyYW1ld29yaykgcmVzb3VyY2VzLgogICAgIC8vIE5vcm1h
bGx5LCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBzaW5nbGUgSFJURiBkYXRhYmFzZSBzZXQsIGJ1dCB0
aGlzIEFQSSBzdXBwb3J0cyB0aGUgcG9zc2liaWxpdHkgb2YgbXVsdGlwbGUgb25lcyB3aXRoIGRp
ZmZlcmVudCBuYW1lcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xp
cGJvYXJkQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hy
b21pdW0uaAppbmRleCAxZDY5OTIxLi5kNWFkYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBJbnRQb2ludDsKIAogICAgIGNsYXNzIENsaXBib2FyZENocm9t
aXVtIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB+Q2xp
cGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3Mg
VGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRh
KTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkKICAgICAg
ICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRl
eCAyZTRlOTYyLi5mMGMzMGFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxpbmUgaW50IGdy
ZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAmIDB4RkY7IH0K
IGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBjb2xvciAmIDB4
RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNv
bG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCksIG1fdmFsaWQoZmFsc2UpIHsgfQogICAgIENvbG9y
KFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wpLCBtX3ZhbGlkKHRydWUpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKaW5kZXggODdhMWM1Yy4uMDcyNWE5
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNw
cAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ29udGV4dFNoYWRvdy5oIgogCiAjaW5jbHVkZSA8d3Rm
L01hdGhFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdXNpbmcgV1RG
OjptaW47CiB1c2luZyBXVEY6Om1heDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmNwcAppbmRleCAxNDllYTc5Li5jZmNhOTgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5IEBAIEZvbnRDYWNoZTo6Rm9udENhY2hlKCkKIHsK
IH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSA6IEZhc3RBbGxvY0Jhc2Ugewor
c3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5KGNvbnN0IEF0b21p
Y1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3RyaW5nKCksIHVuc2lnbmVkIHNpemUgPSAwLCB1bnNp
Z25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxpYyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sIGlzUHJpbnRlckZvbnQgPSBmYWxzZSwgRm9udFJlbmRlcmluZ01vZGUg
cmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRlcmluZ01vZGUsIEZvbnRPcmllbnRhdGlvbiBvcmll
bnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAgICAgIDogbV9zaXplKHNpemUpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRleCBlNjg0NWQ5Li44NmY4YzY3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRm9udERl
c2NyaXB0aW9uOwogY2xhc3MgRm9udFNlbGVjdG9yOwogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAK
LWNsYXNzIEZvbnRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250Q2FjaGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uNDMyNzk1OSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAjZGVm
aW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250RGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBGb250RGF0YSgpCiAgICAgICAgIDogbV9tYXhHbHlwaFBhZ2VUcmVlTGV2ZWwoMCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCmluZGV4IGZhODViY2Mu
LjNlMTNmYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRy
aWNzTWFwLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aApAQCAtNDAsNyArNDAsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IEdseXBoOwogCiBjb25z
dCBmbG9hdCBjR2x5cGhTaXplVW5rbm93biA9IC0xOwogCi10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFz
cyBHbHlwaE1ldHJpY3NNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8Y2xhc3Mg
VD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHbHlw
aE1ldHJpY3NNYXApOwogcHVibGljOgogICAgIEdseXBoTWV0cmljc01hcCgpIDogbV9maWxsZWRQ
cmltYXJ5UGFnZShmYWxzZSkgeyB9CiAgICAgfkdseXBoTWV0cmljc01hcCgpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCA2YWRjOTBiLi5iMzgyMzY5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTM0
LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGF0aC5oIgogI2lu
Y2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCkBAIC0xNTMsNyAr
MTUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBJbnRlcnBvbGF0aW9uSGlnaAog
ICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEdyYXBoaWNzQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgR3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0Kik7CiAg
ICAgICAgIH5HcmFwaGljc0NvbnRleHQoKTsKQEAgLTM1Niw3ICszNTYsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cyhib29s
KTsKICAgICAgICAgYm9vbCBzaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7CiAKLSAg
ICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAg
IGNsYXNzIFdpbmRvd3NCaXRtYXAgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V2luZG93c0JpdG1hcCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFdpbmRvd3NCaXRt
YXAoSERDLCBJbnRTaXplKTsKICAgICAgICAgICAgIH5XaW5kb3dzQml0bWFwKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggYzJkNWMyNC4u
N2MwN2JlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9u
IGZvciBOT19FUlJPUi4KICNpZiAoKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhXSU5ET1dTKSkg
fHwgUExBVEZPUk0oV0lOKSB8fCAoUExBVEZPUk0oUVQpICYmIE9TKFdJTkRPV1MpKSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKaW5k
ZXggOTg1Y2FkOS4uMDUxZTRlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKQEAgLTg0LDcgKzg0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogI2VuZGlmCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZh
dGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQcml2YXRl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGlj
c0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhm
YWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkx
Y2EzMi4uNTMyZDBjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xh
c3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJl
IHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZp
YSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVk
IGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmlt
YXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25WYWx1ZShmbG9hdCBrZXlUaW1lLCBQ
YXNzUmVmUHRyPFRpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiA9IDApCiAgICAgICAgIDog
bV9rZXlUaW1lKGtleVRpbWUpCkBAIC0xNTYsNyArMTU3LDggQEAgcHJpdmF0ZToKIAogLy8gVXNl
ZCB0byBzdG9yZSBhIHNlcmllcyBvZiB2YWx1ZXMgaW4gYSBrZXlmcmFtZSBsaXN0LiBWYWx1ZXMg
d2lsbCBhbGwgYmUgb2YgdGhlIHNhbWUgdHlwZSwKIC8vIHdoaWNoIGNhbiBiZSBpbmZlcnJlZCBm
cm9tIHRoZSBwcm9wZXJ0eS4KLWNsYXNzIEtleWZyYW1lVmFsdWVMaXN0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEtleWZyYW1lVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShLZXlmcmFtZVZhbHVlTGlzdCk7CiBwdWJsaWM6CiAKICAgICBLZXlmcmFtZVZhbHVlTGlz
dChBbmltYXRlZFByb3BlcnR5SUQgcHJvcGVydHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlQnVmZmVyLmgKaW5kZXggODIyYTBmZi4uNWQ0OGE4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIFVubXVsdGlwbGllZAogICAgIH07CiAKLSAgICBjbGFzcyBJbWFnZUJ1ZmZlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VCdWZmZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUJ1ZmZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gV2lsbCByZXR1cm4gYSBudWxsIHBvaW50ZXIgb24g
YWxsb2NhdGlvbiBmYWlsdXJlLgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxJbWFnZUJ1ZmZl
cj4gY3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IENv
bG9yU3BhY2VEZXZpY2VSR0IpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgK
aW5kZXggYWViMTU2MS4uOTFjZWU1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VT
b3VyY2UuaApAQCAtMjgsNyArMjgsNiBAQAogI2RlZmluZSBJbWFnZVNvdXJjZV9oCiAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFBMQVRGT1JNKFdYKQpAQCAtMTE3LDcgKzExNiw4IEBA
IGNvbnN0IGludCBjQW5pbWF0aW9uTG9vcE9uY2UgPSAwOwogY29uc3QgaW50IGNBbmltYXRpb25M
b29wSW5maW5pdGUgPSAtMTsKIGNvbnN0IGludCBjQW5pbWF0aW9uTm9uZSA9IC0yOwogCi1jbGFz
cyBJbWFnZVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVNvdXJjZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VTb3VyY2UpOwogcHVibGljOgogICAgIElt
YWdlU291cmNlKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSA9IHRydWUsIGJvb2wgaWdub3JlR2FtbWFB
bmRDb2xvclByb2ZpbGUgPSBmYWxzZSk7CiAgICAgfkltYWdlU291cmNlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IGU4N2M1M2MuLjM3MDA4OGYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyArMTQ3
LDkgQEAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1lZGlh
UGxheWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0cnVj
dCBNZWRpYVBsYXllckZhY3RvcnkgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5ZXJG
YWN0b3J5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3RvcnkpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3Rvcnko
Q3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVk
VHlwZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRz
VHlwZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAg
ICAgICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uZmVlOGI3ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0
Niw3ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogCiAgICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXll
ckNsaWVudCogY2xpZW50KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllclByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXJQcml2YXRlLmgKaW5kZXggZDk1NjI4Ni4uNmFiZTI1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgSW50U2l6ZTsKIAotY2xhc3Mg
TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAgICAgdmlydHVh
bCB+TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
bG9hZChjb25zdCBTdHJpbmcmIHVybCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9QYXRoLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRl
eCBiYTI1ZGMyLi43YWQxNmEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1BhdGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMjgsNyAr
MjgsNiBAQAogI2lmbmRlZiBQYXRoX2gKICNkZWZpbmUgUGF0aF9oCiAKLSNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKICNpZiBQTEFURk9S
TShDRykKQEAgLTEwMCw3ICs5OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVk
ZWYgdm9pZCAoKlBhdGhBcHBsaWVyRnVuY3Rpb24pKHZvaWQqIGluZm8sIGNvbnN0IFBhdGhFbGVt
ZW50Kik7CiAKLSAgICBjbGFzcyBQYXRoIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNs
YXNzIFBhdGggeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi4wNmM3ZmUxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3
ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNs
YXNzIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBUaWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNs
aWVudCopOwogICAgIH5UaWxlZEJhY2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBk
YWMzMWY4Li40ZjM5NGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2lu
Y2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogdHlwZWRlZiBzdHJ1Y3QgRlRfRmFjZVJlY18qICBGVF9GYWNlOwogdHlwZWRlZiBzdHJ1Y3Qg
X2NhaXJvX2ZvbnRfZmFjZSBjYWlyb19mb250X2ZhY2VfdDsKQEAgLTM1LDcgKzM0LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1
ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7Citz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiBwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YShGVF9GYWNlLCBTaGFyZWRCdWZmZXIqKTsKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVT
MkNhbnZhcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZh
cy5oCmluZGV4IDZmYzFhMGUuLjgxOWY5ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRl
ICJUZXh0dXJlLmgiCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0Nv
bnRleHQzRDsKIGNsYXNzIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOwogCi1jbGFzcyBHTEVTMkNh
bnZhcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHTEVTMkNhbnZhcyB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoR0xFUzJDYW52YXMpOwogcHVibGljOgogICAgIEdMRVMyQ2FudmFz
KFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEKiwgRHJhd2luZ0J1ZmZlciosIGNvbnN0IEludFNpemUm
KTsKICAgICB+R0xFUzJDYW52YXMoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IDUzMWQ2NTIu
LjNjNzFhYzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtNDMsNyArNDMsNiBAQAogI2luY2x1
ZGUgIlNrQml0bWFwLmgiCiAjaW5jbHVkZSAiVmlkZW9MYXllckNocm9taXVtLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IDFmMzM1MjcuLjUy
NmE4N2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVu
ZGVyU3VyZmFjZUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjaW5jbHVk
ZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlRyYW5zZm9y
bWF0aW9uTWF0cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xhc3MgTGF5ZXJD
aHJvbWl1bTsKIAotY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVuZGVyU3VyZmFjZUNocm9taXVtKTsKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5k
ZXJlckNocm9taXVtOwogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZhY2VDaHJvbWl1
bShMYXllckNocm9taXVtKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaAppbmRleCBiNmJlZjkxLi4yNzUxMjU4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2lu
LmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2lu
Y2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRl
ICJ3dGYvT3duUHRyLmgiCiAKIGNsYXNzIFNrQml0bWFwOwpAQCAtNTQsNyArNTMsOCBAQCBjbGFz
cyBUcmFuc3BhcmVuY3lXaW5fT3BhcXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMg
Y29tcG9zaXRlZCBsYXRlciBtYW51YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3Mn
IGluYWJpbGl0eQogLy8gdG8gaGFuZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJl
bnQgdGV4dCwgYW5kIHRyYW5zZm9ybWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNw
YXJlbmN5V2luIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAg
ICBlbnVtIExheWVyTW9kZSB7CiAgICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQu
IERyYXdpbmcgd2lsbCBoYXBwZW4gdG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAppbmRleCA5Zjc5ODg5Li5lMzU2NTkyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC0zNSw3
ICszNSw2IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkludFNpemUu
aCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTc3
LDggKzc2LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0g
ICAgY2xhc3MgV2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgV2lsbFB1Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdpbGxQdWJsaXNoQ2FsbGJhY2spOwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hD
YWxsYmFjaygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9
CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgK
aW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZu
ZGVmIExvb3BCbGlubkNsYXNzaWZpZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3Bl
Y2lmaWMgdHlwZXMuCi1jbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExvb3BCbGlubkNsYXNzaWZpZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBj
dWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5k
ZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAs
MjAgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25z
dGFudHMuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxp
emVkIHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcg
dG8gdGhlIGZvdXIgY29udHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBz
ZWdtZW50LgotY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAv
LyBUaGUgdmVydGljZXMgdGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRh
aW5pbmcgYm90aAogICAgIC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRo
ZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShWZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAg
ICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5j
bHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
UE9EQXJlbmEuaAppbmRleCBmNjhiYWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQu
aD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9j
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMg
YSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0Lgot
ICAgIGNsYXNzIENodW5rIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9t
IHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9E
UmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBw
b3J0cyBlZmZpY2llbnQgKE8obGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcg
b2YKIC8vIGludGVydmFscyBpbiB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVz
ZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFi
bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPRElu
dGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQ
T0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBPREludGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0
byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4K
ICAgICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9QT0RSZWRCbGFja1RyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBA
CiAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lm
bmRlZiBOREVCVUcKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJv
dGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRo
ZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJz
IG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBp
biBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBO
b2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgog
ICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCBy
ZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTks
OCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBB
IFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVu
dHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigp
CiAgICAgICAgICAgICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVm
aW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBA
IGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3Mg
Q29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAg
U2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRl
cigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFi
ZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1RpbGluZ0RhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdE
YXRhLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUg
VGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBU
aWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0Rh
dGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJv
b2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJl
dHVybiBtX21heFRleHR1cmVTaXplOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApp
bmRleCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAK
QEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0
ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFi
bGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYs
NyArMzUsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5n
Q2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQg
eworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFs
IH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTli
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRP
cmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGMxMTg1OGMuLmQ4MTUxNjEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgog
I2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9u
dCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2
LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsK
IGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQ0dGb250
UmVmIGNnRm9udCkKICAgICAgICAgOiBtX2F0c0NvbnRhaW5lcihjb250YWluZXIpCiAgICAgICAg
ICwgbV9jZ0ZvbnQoY2dGb250KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudmcvUGFpbnRlck9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dmcvUGFpbnRlck9wZW5WRy5oCmluZGV4IGU0YzY2ODguLjg0ODk5M2IgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKQEAgLTI1LDcgKzI1
LDYgQEAKIAogI2luY2x1ZGUgPG9wZW52Zy5oPgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00
MSw3ICs0MCw4IEBAIGNsYXNzIFRpbGVkSW1hZ2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBh
aW50ZXJTdGF0ZTsKIAotY2xhc3MgUGFpbnRlck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWludGVyT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVy
T3BlblZHKTsKIHB1YmxpYzoKICAgICBmcmllbmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBm
cmllbmQgc3RydWN0IFBsYXRmb3JtUGFpbnRlclN0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLmVlNzIwMDEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVu
VkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZH
LmgKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRlIDxlZ2wuaD4KICNlbmRpZgogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBJbnRTaXplOwogICogb2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1ha2UgaXQg
ZWFzeSB0byBhZGQgZGlmZmVyZW50IHN1cmZhY2UvY29udGV4dAogICogaW1wbGVtZW50YXRpb25z
IHRoYW4gRUdMLgogICovCi1jbGFzcyBTdXJmYWNlT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN1cmZhY2VPcGVuVkcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1cmZh
Y2VPcGVuVkcpOwogcHVibGljOgogICAgIGVudW0gTWFrZUN1cnJlbnRNb2RlIHsKICAgICAgICAg
QXBwbHlQYWludGVyU3RhdGVPblN1cmZhY2VTd2l0Y2gsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcu
LmQ1ZjMyNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSwxNCArMjUsMTYgQEAKICNpbmNsdWRlICJGb250
T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZl
cjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgor
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0
aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uMDc3N2JiMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTMy
LDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxhdGZvcm1E
YXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRh
UHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0YVByaXZh
dGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250UGxhdGZvcm1E
YXRhUHJpdmF0ZSgpCiAgICAgICAgIDogcmVmQ291bnQoMSkKQEAgLTYyLDggKzYzLDEwIEBAIHB1
YmxpYzoKIAogCiAKLWNsYXNzIEZvbnRQbGF0Zm9ybURhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBGb250UGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgRm9udFBsYXRmb3Jt
RGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSk7CiAgICAgRm9udFBsYXRm
b3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhICYpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEo
Y29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHlOYW1lLCBp
bnQgd29yZFNwYWNpbmcgPSAwLCBpbnQgbGV0dGVyU3BhY2luZyA9IDApOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAppbmRleCBiMzk5
ZjRlLi43YWQ4OThhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dFF0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dFF0LmNwcApAQCAtMTc3LDcgKzE3Nyw4IEBAIHN0YXRpYyBpbmxpbmUgUXQ6
OkZpbGxSdWxlIHRvUXRGaWxsUnVsZShXaW5kUnVsZSBydWxlKQogICAgIHJldHVybiBRdDo6T2Rk
RXZlbkZpbGw7CiB9CiAKLWNsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29s
b3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRmYjM5
Li45ZmFkN2VkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5z
cGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3Bh
cmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNw
YXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAg
IFRyYW5zcGFyZW5jeUxheWVyKGNvbnN0IFFQYWludGVyKiBwLCBjb25zdCBRUmVjdCAmcmVjdCwg
cXJlYWwgb3BhY2l0eSwgUVBpeG1hcCYgYWxwaGFNYXNrKQogICAgICAgICA6IHBpeG1hcChyZWN0
LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpCiAgICAgICAgICwgb3BhY2l0eShvcGFjaXR5KQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKaW5kZXggZTUxYjZiNi4uMDgzZTU4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNSw3
ICszNSw2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgpAQCAtNDksNyArNDgsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxh
dGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1Ymxp
YzoKICNpZiBPUyhXSU5ET1dTKQogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZv
bnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVu
Y2UoZm9udFJlZmVyZW5jZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAppbmRleCA1ZTEy
YWQ2Li40NDgzNWE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCkBAIC0zMSwxNCAr
MzEsMTQgQEAKICNpZm5kZWYgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKICNkZWZp
bmUgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFRoaXMgY2xhc3MganVzdCBob2xkcyBvbnRvIGEgUGxhdGZvcm1Db250ZXh0
U2tpYSBmb3IgR3JhcGhpY3NDb250ZXh0LgotY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRm
b3JtUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlKTsKIHB1YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUoUGxhdGZvcm1Db250ZXh0U2tpYSogcGxhdGZvcm1Db250ZXh0KQogICAgICAgICA6IG1fY29u
dGV4dChwbGF0Zm9ybUNvbnRleHQpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKaW5kZXggMTEwMDg1ZC4uZDY4M2FhZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4
dFNraWEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250
ZXh0U2tpYS5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFBsYXRmb3JtQ29udGV4dFNraWFf
aAogCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUu
aCIKIAogI2luY2x1ZGUgIlNrRGFzaFBhdGhFZmZlY3QuaCIKICNpbmNsdWRlICJTa0RyYXdMb29w
ZXIuaCIKQEAgLTY3LDcgKzY2LDggQEAgY2xhc3MgVGV4dHVyZTsKIC8vIHJlc3BvbnNpYmxlIGZv
ciBtYW5hZ2luZyB0aGUgcGFpbnRpbmcgc3RhdGUgd2hpY2ggaXMgc3RvcmUgaW4gc2VwYXJhdGUK
IC8vIFNrUGFpbnQgb2JqZWN0cy4gVGhpcyBjbGFzcyBwcm92aWRlcyB0aGUgYWRhcHRvciB0aGF0
IGFsbG93cyB0aGUgcGFpbnRpbmcKIC8vIHN0YXRlIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGFs
b25nIHdpdGggdGhlIGJpdG1hcC4KLWNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGxhdGZvcm1Db250ZXh0U2tpYSk7CiBwdWJsaWM6CiAgICAgLy8gRm9yIHBy
aW50aW5nLCB0aGVyZSBzaG91bGRuJ3QgYmUgYW55IGNhbnZhcy4gY2FudmFzIGNhbiBiZSBOVUxM
LiBJZiB5b3UKICAgICAvLyBzdXBwbHkgYSBOVUxMIGNhbnZhcywgeW91IGNhbiBhbHNvIGNhbGwg
c2V0Q2FudmFzIGxhdGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCmluZGV4IGJhZWUxMDIuLjhkMmY4NzQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zv
cm0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJh
bnNmb3JtLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oIgogCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vIGZvciBtZW1jcHkKLSNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBo
aWNzL0NHQWZmaW5lVHJhbnNmb3JtLmg+CkBAIC01NSw3ICs1NCw4IEBAIGNsYXNzIEludFBvaW50
OwogY2xhc3MgSW50UmVjdDsKIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogCi1jbGFzcyBB
ZmZpbmVUcmFuc2Zvcm0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBZmZpbmVUcmFu
c2Zvcm0geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVk
ZWYgZG91YmxlIFRyYW5zZm9ybVs2XTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3
Ny4uOTgxZTFmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBt
YWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2
YjRiYWEuLjFiYjA2NWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVk
ZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFu
c2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxv
YXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBN
YXRyaXg0WzRdWzRdOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggMWJkZjI3MC4uMTYyOGVlYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENH
Rm9udFJlZjsKIApAQCAtMzQsNyArMzMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBG
b250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsK
K3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNl
LCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZl
cmVuY2UpCiAgICAgICAgICwgbV9uYW1lKG5hbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCmluZGV4
IDNhYjUyYjguLjA2OTkxYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCkBAIC0yNCw3ICsyNCw2
IEBACiAKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSA8Y2Fpcm8uaD4K
IApAQCAtMzMsNyArMzIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZv
cm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoK
ICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90KiBmb250RmFjZSkK
ICAgICAgICAgOiBtX2ZvbnRGYWNlKGZvbnRGYWNlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAppbmRleCBjMjE2MTQw
Li41OTUxZTQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2Nh
bFdpbmRvd3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9j
YWxXaW5kb3dzQ29udGV4dC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2Nh
bFdpbmRvd3NDb250ZXh0KTsKIHB1YmxpYzoKICAgICBMb2NhbFdpbmRvd3NDb250ZXh0KEdyYXBo
aWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIHN1
cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSwgYm9vbCBtYXlDcmVhdGVCaXRtYXAgPSB0cnVlKQogICAg
ICAgICA6IG1fZ3JhcGhpY3NDb250ZXh0KGdyYXBoaWNzQ29udGV4dCkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKaW5kZXggZWZhZjIxOC4uZmU2MGM4ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKQEAgLTM0LDcgKzM0LDYgQEAK
ICNpbmNsdWRlIDxRVE1MLmg+CiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtNjMsNyAr
NjIsOCBAQCB1bmlvbiBVcHBQYXJhbSB7CiBzdGF0aWMgVmVjdG9yPENGU3RyaW5nUmVmPiogZ1N1
cHBvcnRlZFR5cGVzID0gMDsKIHN0YXRpYyBTSW50MzIgcXVpY2tUaW1lVmVyc2lvbiA9IDA7CiAK
LWNsYXNzIFFUTW92aWVQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUVRNb3Zp
ZVRhc2tDbGllbnQgeworY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgUVRNb3ZpZVRhc2tD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFFUTW92aWVQcml2YXRlKTsKIHB1Ymxp
YzoKICAgICBRVE1vdmllUHJpdmF0ZSgpOwogICAgIH5RVE1vdmllUHJpdmF0ZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcAppbmRleCBlMTNm
NzMyLi4yNjg2MTJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9R
VE1vdmllR1dvcmxkLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1v
dmllR1dvcmxkLmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgPFF1aWNrVGltZUNvbXBv
bmVudHMuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9RVFRyYWNrLmNwcAppbmRleCAwOTE0MmJjLi5iZjgwYTgxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcApAQCAtMzEsNyArMzEsOCBAQAogCiB1c2luZyBuYW1l
c3BhY2Ugc3RkOwogCi1jbGFzcyBRVFRyYWNrUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBRVFRyYWNrUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRUcmFj
a1ByaXZhdGUpOwogcHVibGljOgogICAgIFFUVHJhY2tQcml2YXRlKCk7CiAgICAgflFUVHJhY2tQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NB
Q0ZDb250ZXh0Rmx1c2hlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNG
Q29udGV4dEZsdXNoZXIuaAppbmRleCAxN2VjNDFkLi4xZTk5MGEzIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAt
MzYsNyArMzUsOCBAQCBzdHJ1Y3QgV0tDQUNGQ29udGV4dDsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tD
QUNGQ29udGV4dEZsdXNoZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBXS0NBQ0ZDb250ZXh0Rmx1
c2hlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1dLQ0FDRkxheWVyUmVuZGVyZXIuaAppbmRleCA3NjNmZmZhLi5hMTY2ZTgxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCkBA
IC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJXS0NBQ0ZMYXll
ci5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTU2LDcgKzU1LDggQEAgcHVi
bGljOgogLy8gRklYTUU6IEN1cnJlbnRseSB0aGVyZSBpcyBhIFdLQ0FDRkxheWVyUmVuZGVyZXIg
Zm9yIGVhY2ggV2ViVmlldyBhbmQgZWFjaAogLy8gaGFzIGl0cyBvd24gQ0FSZW5kZXJPR0xDb250
ZXh0IGFuZCBEaXJlY3QzRERldmljZTksIHdoaWNoIGlzIGluZWZmaWNpZW50LgogLy8gKGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTg1NSkKLWNsYXNzIFdLQ0FDRkxh
eWVyUmVuZGVyZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV0tDQUNGTGF5ZXJSZW5k
ZXJlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGTGF5ZXJSZW5kZXJlcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V0tDQUNGTGF5ZXJSZW5kZXJlcj4gY3JlYXRl
KFdLQ0FDRkxheWVyUmVuZGVyZXJDbGllbnQqKTsKICAgICB+V0tDQUNGTGF5ZXJSZW5kZXJlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAppbmRleCBhYmRjMGYyLi5mMjI3NmFiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aApAQCAtMjQsNyArMjQsNiBAQAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1
ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
Nyw3ICszNiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXJGb250KGNvbnN0IFN0cmluZyYgZm9udE5hbWUpID0gMDsKICAgICB9OwogCi0gICAg
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICAgICAgOiBtX25hbWUobmFt
ZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9Gb250UGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0Zv
bnRQbGF0Zm9ybURhdGEuaAppbmRleCBlNzNhN2IyLi45ODYyN2Q0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjgsNyAr
MjgsNiBAQAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRPcmll
bnRhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgogCiB0eXBlZGVmIHN0
cnVjdCB0YWdURVhUTUVUUklDVyBURVhUTUVUUklDOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAppbmRleCAwODAy
ODI2Li44MjQ1NTk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcApAQCAtNDQwLDcgKzQ0MCw4IEBAIHN0YXRp
YyB2b2lkIHJvdGF0ZUJpdG1hcChTaGFyZWRCaXRtYXAqIGRlc3RCbXAsIGNvbnN0IFNoYXJlZEJp
dG1hcCogc291cmNlQm1wLCBjCiAgICAgICAgIF9yb3RhdGVCaXRtYXA8dW5zaWduZWQsIGZhbHNl
PihkZXN0Qm1wLCBzb3VyY2VCbXAsIHRyYW5zZm9ybSk7CiB9CiAKLWNsYXNzIFRyYW5zcGFyZW50
TGF5ZXJEQyA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW50TGF5ZXJEQyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbnRMYXllckRDKTsKIHB1YmxpYzoKICAgICBU
cmFuc3BhcmVudExheWVyREMoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhLCBJ
bnRSZWN0JiBvcmlnUmVjdCwgY29uc3QgSW50UmVjdCogcmVjdEJlZm9yZVRyYW5zZm9ybSA9IDAs
IGludCBhbHBoYSA9IDI1NSwgYm9vbCBwYWludEltYWdlID0gZmFsc2UpOwogICAgIH5UcmFuc3Bh
cmVudExheWVyREMoKTsKQEAgLTU2MCw3ICs1NjEsOCBAQCB2b2lkIFRyYW5zcGFyZW50TGF5ZXJE
Qzo6ZmlsbEFscGhhQ2hhbm5lbCgpCiAgICAgfQogfQogCi1jbGFzcyBTY29wZURDUHJvdmlkZXIg
OiBOb25jb3B5YWJsZSB7CitjbGFzcyBTY29wZURDUHJvdmlkZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjb3BlRENQcm92aWRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NvcGVE
Q1Byb3ZpZGVyKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSogZGF0YSkKICAgICAgICAg
OiBtX2RhdGEoZGF0YSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
Y2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3Qg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaAppbmRleCBlMTRhNTgzLi4wYzA3YzA3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJh
ZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogICAgIC8vIENyZWF0ZWQgZnJvbSB0aGUgRXZlbnRI
YW5kbGVyR3RrIHRvIGJlIHVzZWQgYnkgdGhlIGRvbQogICAgIGNsYXNzIENsaXBib2FyZEd0ayA6
IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q2xpcGJvYXJkR3RrPiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGlj
eSwgR3RrQ2xpcGJvYXJkKiBjbGlwYm9hcmQsIEZyYW1lKiBmcmFtZSkKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKaW5kZXggNWEw
NGJlZS4uMTMwMDM3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9JbWFnZURlY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0lt
YWdlRGVjb2Rlci5oCkBAIC0yMjEsNyArMjIxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IC8vIHNldE1heE51bVBpeGVscygpIHRvIHNwZWNpZnkgdGhlIGJpZ2dlc3Qgc2l6ZSB0aGF0IGRl
Y29kZWQgaW1hZ2VzIGNhbgogICAgIC8vIGhhdmUuIEltYWdlIGRlY29kZXJzIHdpbGwgZGVmbGF0
ZSB0aG9zZSBpbWFnZXMgdGhhdCBhcmUgYmlnZ2VyIHRoYW4KICAgICAvLyBtX21heE51bVBpeGVs
cy4gKE5vdCBzdXBwb3J0ZWQgYnkgYWxsIGltYWdlIGRlY29kZXJzIHlldCkKLSAgICBjbGFzcyBJ
bWFnZURlY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlRGVjb2Rl
ciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRGVjb2Rlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgSW1hZ2VEZWNvZGVyKGJvb2wg
cHJlbXVsdGlwbHlBbHBoYSwgYm9vbCBpZ25vcmVHYW1tYUFuZENvbG9yUHJvZmlsZSkKICAgICAg
ICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCmlu
ZGV4IDcxODdlY2YuLjM5ZWFkZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ns
aXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCkBA
IC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgRmlsZUxpc3Q7CiAKIGNsYXNzIENs
aXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBl
LCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ks
IEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9M
b2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBA
IC0xNyw3ICsxNyw2IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5T
R3JhcGhpY3NDb250ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7
CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRo
ZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwg
b3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQK
LWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxD
dXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsK
ICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1No
YXJlZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9J
T01lc3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLmMxZjU1MjIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVk
ZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRh
dGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEJsb2JEYXRhPiBjcmVhdGUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Zvcm1EYXRhQnVpbGRlci5oCmluZGV4IDg3ZDBlZjMuLjExMmUzMTUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKQEAgLTIzLDE0ICsyMywxNCBAQAogCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IERvY3VtZW50OwogY2xhc3MgVGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb3JtRGF0YUJ1aWxkZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9ybURhdGFCdWlsZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGb3JtRGF0YUJ1aWxkZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBU
ZXh0RW5jb2RpbmcgZW5jb2RpbmdGcm9tQWNjZXB0Q2hhcnNldChjb25zdCBTdHJpbmcmIGFjY2Vw
dENoYXJzZXQsIERvY3VtZW50KiBkb2N1bWVudCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKaW5kZXggZDFmMmRiNC4uZmVhNDM5NGQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKICNkZWZpbmUg
TmV0d29ya1N0YXRlTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
ICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXJQcml2YXRlOwogI2VuZGlmCiAKLWNsYXNzIE5l
dHdvcmtTdGF0ZU5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5ldHdvcmtT
dGF0ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXR3b3JrU3RhdGVOb3Rp
Zmllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9p
ZCAoKikoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
SW50ZXJuYWwuaAppbmRleCA5Y2NjZWNkLi5jMjk5Y2U1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAg
Y2xhc3MgTlNVUkxDb25uZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJl
c291cmNlSGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlc291cmNlSGFu
ZGxlSW50ZXJuYWwoUmVzb3VyY2VIYW5kbGUqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogYywgYm9vbCBkZWZlcnNMb2FkaW5nLCBi
b29sIHNob3VsZENvbnRlbnRTbmlmZikKICAgICAgICAgICAgIDogbV9jbGllbnQoYykKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDMzYTE4
NGUuLmY3OTU4NGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlcXVlc3RCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVx
dWVzdEJhc2UuaApAQCAtNDksNyArNDksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3Ry
dWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YTsKIAogICAgIC8vIERvIG5vdCB1c2Ug
dGhpcyB0eXBlIGRpcmVjdGx5LiAgVXNlIFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkLgotICAgIGNs
YXNzIFJlc291cmNlUmVxdWVzdEJhc2UgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIHR5cGUgb2YgdGhpcyBSZXNvdXJjZVJlcXVl
c3QsIGJhc2VkIG9uIGhvdyB0aGUgcmVzb3VyY2Ugd2lsbCBiZSB1c2VkLgogICAgICAgICBlbnVt
IFRhcmdldFR5cGUgewpAQCAtMjA1LDcgKzIwNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29tcGFy
ZShhLCBiKTsgfQogICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oUmVzb3VyY2VSZXF1ZXN0JiBh
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi0gICAg
c3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgorICAgICAgICBDcm9zc1Ro
cmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAK
ICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1
NGJhYi4uZTA3NzRjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsK
IHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNl
IHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0
ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxSZXNvdXJjZVJlc3BvbnNlPiBhZG9w
dChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGE+KTsKIApAQCAtMTc1
LDcgKzE3NiwxMCBAQCBwcml2YXRlOgogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiBSZXNv
dXJjZVJlc3BvbnNlQmFzZTo6Y29tcGFyZShhLCBiKTsgfQogaW5saW5lIGJvb2wgb3BlcmF0b3Ih
PShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7
IHJldHVybiAhKGEgPT0gYik7IH0KIAotc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25z
ZURhdGFCYXNlIDogTm9uY29weWFibGUgeworc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNw
b25zZURhdGFCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291
cmNlUmVzcG9uc2VEYXRhQmFzZSk7CitwdWJsaWM6CisgICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJl
c3BvbnNlRGF0YUJhc2UoKSB7IH0KICAgICBLVVJMIG1fdXJsOwogICAgIFN0cmluZyBtX21pbWVU
eXBlOwogICAgIGxvbmcgbG9uZyBtX2V4cGVjdGVkQ29udGVudExlbmd0aDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4
IGMxOTMzZTMuLjYwZDg1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNjAsNyArNjAsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICNkZWZpbmUgUkVBRF9CVUZGRVJfU0laRSA4MTkyCiAKLWNsYXNzIFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBS
ZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoKICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIo
UmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UgJiwgVmVjdG9yPGNoYXI+Jik7CiAgICAg
fldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAppbmRleCAzOGQ5Y2QxLi5mNTA1NDBjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2lu
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2lu
LmNwcApAQCAtNzYsNyArNzYsOCBAQCBzdGF0aWMgU3RyaW5nIHF1ZXJ5SFRUUEhlYWRlcihISU5U
RVJORVQgcmVxdWVzdEhhbmRsZSwgRFdPUkQgaW5mb0xldmVsKQogfQogCiAKLWNsYXNzIFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBS
ZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoKICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIo
UmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hhcj4mLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCk7CiAgICAgfldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCmluZGV4IDVhY2ExYTYuLmZiNWFiZWYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L3F0L0NsaXBib2FyZFF0LmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQg
ZHJvcCBhbmQgY29weS9wYXN0ZQogICAgIGNsYXNzIENsaXBib2FyZFF0IDogcHVibGljIENsaXBi
b2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlw
Ym9hcmRRdD4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFNaW1l
RGF0YSogcmVhZGFibGVDbGlwYm9hcmQpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMuLmRhNTNhY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlRGF0YWJhc2UuaApAQCAtNTAsNyArNTAsOCBAQCBleHRlcm4gY29uc3QgaW50IFNRTFJl
c3VsdFNjaGVtYTsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0RnVsbDsKIGV4dGVybiBjb25z
dCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0OwogCi1jbGFzcyBTUUxpdGVEYXRhYmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxpdGVEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU1FMaXRlRGF0YWJhc2UpOwogICAgIGZyaWVuZCBjbGFzcyBTUUxpdGVUcmFuc2Fj
dGlvbjsKIHB1YmxpYzoKICAgICBTUUxpdGVEYXRhYmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVTdGF0ZW1lbnQuaAppbmRleCAxNDQ0ZjBlLi5mZDFhYmZiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L3NxbC9TUUxpdGVTdGF0ZW1lbnQuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFNRTFZhbHVlOwogCi1jbGFzcyBTUUxpdGVTdGF0ZW1lbnQgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlU3RhdGVtZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTUUxpdGVTdGF0ZW1lbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsK
ICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNh
Y3Rpb24uaAppbmRleCA5MjQyNDFmLi45ZTMzY2Y4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NR
TGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFu
c2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFi
YXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQotewor
Y2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0
ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1FM
aXRlVHJhbnNhY3Rpb24oU1FMaXRlRGF0YWJhc2UmIGRiLCBib29sIHJlYWRPbmx5ID0gZmFsc2Up
OwogICAgIH5TUUxpdGVUcmFuc2FjdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L0JpZGlSZXNvbHZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZl
ci5oCmluZGV4IDFmODcxMTUuLjA1NmVkNzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9CaWRpUmVzb2x2ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29s
dmVyLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNkZWZpbmUgQmlkaVJlc29sdmVyX2gKIAogI2luY2x1
ZGUgIkJpZGlDb250ZXh0LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTEyNiw3
ICsxMjUsOCBAQCBzdHJ1Y3QgQmlkaUNoYXJhY3RlclJ1biB7CiAgICAgQmlkaUNoYXJhY3RlclJ1
biogbV9uZXh0OwogfTsKIAotdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNs
YXNzIEJpZGlSZXNvbHZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8Y2xhc3Mg
SXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShCaWRpUmVzb2x2ZXIpOwogcHVibGljIDoKICAgICBCaWRpUmVzb2x2ZXIoKQog
ICAgICAgICA6IG1fZGlyZWN0aW9uKFdURjo6VW5pY29kZTo6T3RoZXJOZXV0cmFsKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAppbmRleCBmMTYxMWU1Li41MzZlZDQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaApAQCAtMzAsNyAr
MzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlZ3VsYXJFeHByZXNzaW9u
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUmVndWxhckV4cHJlc3Npb24geworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlZ3VsYXJFeHByZXNzaW9u
KGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkpOwogICAgIH5SZWd1bGFyRXhwcmVz
c2lvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4IGM2YWYzOGEuLjEyY2Y2NDcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1
ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTU3LDggKzU2LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgY2hhciBVbmVuY29kYWJsZVJl
cGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xhc3MgVGV4dENvZGVjIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29kZWMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6Cisg
ICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAog
ICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9v
bCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVy
L0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4uYmZmZjkzZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRv
bWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRF
bmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFu
c2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBjb252
ZXJ0KFN0cmluZyYgdGV4dCwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29k
aW5nKiA9IDApIGNvbnN0OwogICAgIGJvb2wgbmVlZHNUcmFuc2NvZGluZyhjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaCBiL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L0NsaXBib2FyZFdpbi5oCmluZGV4IGNlNjRiODUuLjc3OWRhMjYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L0NsaXBib2FyZFdpbi5oCkBAIC00MSw2ICs0MSw3IEBAIGNsYXNzIFdDRGF0YU9iamVjdDsKIAog
Ly8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBh
bmQgY29weS9wYXN0ZQogY2xhc3MgQ2xpcGJvYXJkV2luIDogcHVibGljIENsaXBib2FyZCwgcHVi
bGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0ZShDbGlw
Ym9hcmRUeXBlIGNsaXBib2FyZFR5cGUsIElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBDbGlwYm9h
cmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5k
MzZjMjMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJv
YWRjYXN0ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRj
YXN0ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0ZW5lcjsK
IAotICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VMaXN0ZW5l
ciopOwogICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNz
YWdlTGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFz
ZS5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1Zi4uYzQx
MmMwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKKysrIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdl
PiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdpblNldDsKIAotICAgIGNsYXNzIFBsdWdpbkRhdGFi
YXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODlj
Li4yOWJjNGU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNj
aGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVy
LmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgdm9pZCBNYWluVGhyZWFkRnVuY3Rpb24odm9p
ZCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oIGIvV2ViQ29y
ZS9wbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCBkZWFlYzk5Li5hOTliNmViIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5WaWV3LmgKQEAgLTkzLDcgKzkzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQ
bHVnaW5TdGF0dXNMb2FkZWRTdWNjZXNzZnVsbHkKICAgICB9OwogCi0gICAgY2xhc3MgUGx1Z2lu
UmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luUmVxdWVzdCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblJlcXVlc3QpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29uc3Qg
RnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9u
LCB2b2lkKiBub3RpZnlEYXRhLCBib29sIHNob3VsZEFsbG93UG9wdXBzKQogICAgICAgICAgICAg
OiBtX2ZyYW1lTG9hZFJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8u
aAppbmRleCA1ZTZmNjE5Li5kNzdkNmNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9D
b2x1bW5JbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3
ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRl
ck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJl
ZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
TGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgog
I2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwog
Y2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkK
ICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAz
MjEzOWZiLi43ODdhNjg4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVu
YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwx
MyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBj
b25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgUmVuZGVyQXJlbmEodW5zaWduZWQgYXJlbmFTaXplID0gNDA5Nik7CiAgICAgflJl
bmRlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA1MTUzMjE4Li5hMDZjZDgy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTM1NCw3ICszNTQsOSBAQCBwcml2YXRlOgog
ICAgICAgICBib29sIGV2ZXJIYWRMYXlvdXQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBGbG9hdGlu
Z09iamVjdCA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGbG9hdGluZ09iamVjdCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBi
aXRzIHNvIHlvdSBjYW4gdXNlIEZsb2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGgg
bGVmdCBhbmQgcmlnaHQuCiAgICAgICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0
UmlnaHQgPSAyLCBGbG9hdEJvdGggPSAzIH07CiAKQEAgLTY4MSw3ICs2ODMsOSBAQCBwcml2YXRl
OgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBtX2NvbnRpbnVhdGlvbjsKICAgICAKICAgICAv
LyBBbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1
bHQgdmFsdWVzCi0gICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2Nr
KiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURl
ZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2
ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJs
b2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAxNDNjNzJjLi4zNmM3NzM0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4
IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7
IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9p
ZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1h
cEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29u
dHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9s
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW1hZ2VRdWFsaXR5Q29udHJv
bGxlcigpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRBdExvd1F1YWxpdHkoR3JhcGhpY3NDb250ZXh0
KiwgUmVuZGVyQm94TW9kZWxPYmplY3QqLCBJbWFnZSosIGNvbnN0IHZvaWQqIGxheWVyLCBjb25z
dCBJbnRTaXplJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNl
dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAppbmRleCBkMGFiMzQ2Li4x
ZTUxMWQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKQEAgLTczLDcgKzczLDggQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgaW50IG5vU3BsaXQgPSAtMTsKIAot
ICAgIGNsYXNzIEdyaWRBeGlzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmlk
QXhpcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyaWRBeGlzKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyaWRBeGlzKCk7CiAgICAgICAgIHZvaWQgcmVzaXplKGludCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKaW5kZXggMjM0NjcxMi4uYTIwYzU1YSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaApAQCAtMjksMTMgKzI5LDEz
IEBACiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhh
bmRsZS5oIgogI2luY2x1ZGUgIlN0eWxlSW1hZ2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNs
YXNzIFJlbmRlckltYWdlUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVu
ZGVySW1hZ2VSZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVySW1hZ2VS
ZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwg
flJlbmRlckltYWdlUmVzb3VyY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuaAppbmRleCBmYjNhYjY3Li4wMWEyZjE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuaApAQCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsK
IC8vIAogLy8gVGhlcmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJM
YXllciB0aGF0IGlzIGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1
YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVu
ZGVyTGF5ZXJCYWNraW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAg
IH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3
OTk5OGVkLi45OGZkZGI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJx
dWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlz
IGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93
OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJx
dWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVu
ZGVyTWFycXVlZShSZW5kZXJMYXllciopOwogICAgIHZpcnR1YWwgflJlbmRlck1hcnF1ZWUoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCmluZGV4IDI1M2E2NzIuLmQ4ZjJlNWUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZQogLy8gRXhhbXBsZXMgb2YgdmlzdWFsIG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0
cm9rZSAoYW5kIGV2ZW50dWFsbHkgb3V0bGluZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhp
cyBvYmplY3QgaXMgYWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZl
IG5vbi1kZWZhdWx0IHZhbHVlcyBpbiB0aGUgb3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJm
bG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJPdmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGRlZmF1bHRS
ZWN0ID0gSW50UmVjdCgpKSAKICAgICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93KGRlZmF1bHRS
ZWN0LnkoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
Q2xpcHBlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgK
aW5kZXggMjAxNTNlOS4uODFjNzlkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmgKQEAgLTM2LDcgKzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdHJ1Y3QgQ2xpcHBlckRhdGEgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVy
RGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgT3duUHRy
PEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjQ1Y2E4MTMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSgpCiAgICAgICAgIDogbV9v
YmplY3QoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCA0MWEwNTA2Li5iYTQ3NGM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5oCkBAIC0yNTUsNyArMjU1LDggQEAgdm9pZCB0b1JlbmRlclZpZXco
Y29uc3QgUmVuZGVyVmlldyopOwogCiAKIC8vIFN0YWNrLWJhc2VkIGNsYXNzIHRvIGFzc2lzdCB3
aXRoIExheW91dFN0YXRlIHB1c2gvcG9wCi1jbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShMYXlvdXRTdGF0ZU1haW50YWluZXIpOwogcHVibGljOgogICAg
IC8vIGN0b3IgdG8gcHVzaCBub3cKICAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmll
dyogdmlldywgUmVuZGVyQm94KiByb290LCBJbnRTaXplIG9mZnNldCwgYm9vbCBkaXNhYmxlU3Rh
dGUgPSBmYWxzZSwgaW50IHBhZ2VIZWlnaHQgPSAwLCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0g
ZmFsc2UsIENvbHVtbkluZm8qIGNvbEluZm8gPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXRQcm90ZWN0b3IuaAppbmRleCA3ODgzMDRjLi44YmY2YWM5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciA6IHByaXZhdGUgTm9u
Y29weWFibGUgeworY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJXaWRnZXRQcm90ZWN0b3IpOwogcHVibGljOgogICAgIFJlbmRlcldp
ZGdldFByb3RlY3RvcihSZW5kZXJXaWRnZXQqIG9iamVjdCkKICAgICAgICAgOiBtX29iamVjdChv
YmplY3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xz
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKaW5kZXggOWJjYzdh
NC4uOTIyNTgwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJU
b29scy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaApAQCAt
MjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTMyLDcgKzMxLDggQEAgY2xhc3MgRmxvYXRTaXplOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0
OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQnVmZmVyVG9vbHMpOwogcHVibGljOgogICAgIHN0YXRp
YyBib29sIGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVUYXJnZXRS
ZWN0LCBjb25zdCBGbG9hdFJlY3QmIGNsYW1wZWRBYnNvbHV0ZVRhcmdldFJlY3QsIE93blB0cjxJ
bWFnZUJ1ZmZlcj4mLCBDb2xvclNwYWNlKTsKICAgICBzdGF0aWMgdm9pZCByZW5kZXJTdWJ0cmVl
VG9JbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlciosIFJlbmRlck9iamVjdCosIGNvbnN0IEFmZmluZVRy
YW5zZm9ybSYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0
SW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCmluZGV4IDhm
NTk3MDM1Li4wNzJiNGJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJM
YXlvdXRJbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5o
CkBAIC0yMyw3ICsyMyw2IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJPYmpl
Y3QuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJEYXRhLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDEsOCBAQCBzdHJ1Y3Qg
TWFya2VyTGF5b3V0IHsKICAgICBBZmZpbmVUcmFuc2Zvcm0gbWF0cml4OwogfTsKIAotY2xhc3Mg
U1ZHTWFya2VyTGF5b3V0SW5mbyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdNYXJr
ZXJMYXlvdXRJbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdNYXJrZXJMYXlvdXRJ
bmZvKTsKIHB1YmxpYzoKICAgICBTVkdNYXJrZXJMYXlvdXRJbmZvKCk7CiAgICAgflNWR01hcmtl
ckxheW91dEluZm8oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNl
cy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKaW5kZXggNDk1OTFjZi4uYzQ2
NjM1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lm
IEVOQUJMRShTVkcpCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KIApAQCAtMzgsNyArMzcsOCBAQCBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1hc2tl
cjsKIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogCiAvLyBIb2xkcyBhIHNldCBvZiByZXNvdXJjZXMg
YXNzb2NpYXRlZCB3aXRoIGEgUmVuZGVyT2JqZWN0Ci1jbGFzcyBTVkdSZXNvdXJjZXMgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVzb3VyY2VzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdSZXNvdXJjZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBTVkdSZXNvdXJjZXMoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzQ2FjaGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgK
aW5kZXggNGE2MTU3MC4uMDg5YjYyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzQ2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNo
ZS5oCkBAIC0zMSw3ICszMSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291
cmNlc0NhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAg
flNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3lj
bGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVy
T2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNv
dXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jl
c291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJs
ZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVl
Li5iZTAxYzY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxMyBAQAog
I2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRl
clRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUYWJsZUxheW91dChSZW5kZXJU
YWJsZSogdGFibGUpCiAgICAgICAgIDogbV90YWJsZSh0YWJsZSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zv
cm1TdGF0ZS5oCmluZGV4IDBiNGNhNDYuLjM2ZmM2ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3Jt
U3RhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5j
bHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFuc2Zvcm1TdGF0ZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBUcmFuc2Zvcm1TdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VHJhbnNmb3JtU3RhdGUpOwogcHVibGljOgogICAgIGVudW0gVHJhbnNmb3JtRGlyZWN0aW9uIHsg
QXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIFVuYXBwbHlJbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9u
IH07CiAgICAgZW51bSBUcmFuc2Zvcm1BY2N1bXVsYXRpb24geyBGbGF0dGVuVHJhbnNmb3JtLCBB
Y2N1bXVsYXRlVHJhbnNmb3JtIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0
aWNhbFBvc2l0aW9uQ2FjaGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25D
YWNoZS5oCmluZGV4IDRkZWFlZjUuLmIyNWIyZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRp
Y2FsUG9zaXRpb25DYWNoZS5oCkBAIC0zOCw3ICszOCw4IEBAIGNvbnN0IGludCBQb3NpdGlvblRv
cCA9IC0weDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uQm90dG9tID0gMHg3ZmZmZmZmZjsK
IGNvbnN0IGludCBQb3NpdGlvblVuZGVmaW5lZCA9IDB4ODAwMDAwMDA7CiAKLWNsYXNzIFZlcnRp
Y2FsUG9zaXRpb25DYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWZXJ0aWNhbFBv
c2l0aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlcnRpY2FsUG9zaXRpb25D
YWNoZSk7CiBwdWJsaWM6CiAgICAgVmVydGljYWxQb3NpdGlvbkNhY2hlKCkKICAgICB7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCmluZGV4IDRmOTY0YTIuLjE1ZjY5MTIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKLXN0cnVjdCBDb250ZW50RGF0
YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDb250ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ29udGVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBDb250ZW50RGF0YSgpCiAgICAgICAgIDogbV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oCmluZGV4IDUyNzU3YWQuLjgxNDAzOWUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAs
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0
cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li44NDdlOGRmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNp
emUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRmlsbExheWVyKEVGaWxsTGF5ZXJUeXBlKTsKICAgICB+
RmlsbExheWVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dE
YXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKaW5kZXggY2E4M2Fm
MC4uYTNkZGYxMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0
YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaApAQCAtMjYsNyAr
MjYsNiBAQAogI2RlZmluZSBTaGFkb3dEYXRhX2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
Nyw3ICszNiw4IEBAIGVudW0gU2hhZG93U3R5bGUgeyBOb3JtYWwsIEluc2V0IH07CiAKIC8vIFRo
aXMgc3RydWN0IGhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHNoYWRvd3MgZm9yIHRoZSB0ZXh0LXNo
YWRvdyBhbmQgYm94LXNoYWRvdyBwcm9wZXJ0aWVzLgogCi1jbGFzcyBTaGFkb3dEYXRhIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgU2hhZG93RGF0YSB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDAp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0
MmU3Li4zMjFmMzkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENo
dW5rQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWls
ZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgc3RydWN0IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNl
IHR3byBwZXJmb3JtZWQgdGhlIGFjdHVhbCBwZXItY2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5n
IHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNW
R0lubGluZVRleHRCb3ggb2JqZWN0cyAoU1ZHVGV4dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVl
IHBlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25zIHRoYXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVh
Y2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5rICh0ZXh0LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1j
bGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNW
R1RleHRDaHVua0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVu
a0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1RleHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
ci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
ci5oCmluZGV4IGYyOWFjNjQuLmM2ODE4NWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDgg
QEAgY2xhc3MgUmVuZGVyU1ZHVGV4dDsKIC8vIHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUg
YmFzZWQgb24gdGV4dCBjaHVuayBib3VuZGFyaWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRo
ZSBzZWNvbmQgbGF5b3V0IHBoYXNlIGlzIGNhcnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdp
bmUuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJs
aWM6CiAgICAgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWls
ZExheW91dEF0dHJpYnV0ZXNGb3JUZXh0U3VidHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFl
NGNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAg
LTQ0LDcgKzQ0LDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHJlbmRlcmVycyB0byBjb21wdXRlIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hh
cmFjdGVyCiAvLyB3aGljaCBhcmUgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVj
dHMuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
VGV4dExheW91dEVuZ2luZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwog
ICAgIFNWR1RleHRDaHVua0J1aWxkZXImIGNodW5rTGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1f
Y2h1bmtMYXlvdXRCdWlsZGVyOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKaW5kZXggZDc1M2IzOS4uYWMzOTNlZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
aApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdSZW5k
ZXJTdHlsZURlZnMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC0zMyw3ICszMiw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xh
c3MgU1ZHVGV4dE1ldHJpY3M7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlv
dXRFbmdpbmUgdG8gaGFuZGxlICdhbGlnbm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2Vs
aW5lJyBhbmQgJ2Jhc2VsaW5lLXNoaWZ0Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNl
bGluZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFz
ZWxpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNl
bGluZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZv
bnQmKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZVNwYWNpbmcuaAppbmRleCAwYTZkNzM2Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBA
QCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBj
bGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICds
ZXR0ZXItc3BhY2luZycgYW5kICd3b3JkLXNwYWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25z
dCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBi
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaAppbmRleCBiNjFlNDY1Li5lMWRmNTkxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlVGFzay5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gQ2FuIGJlIHVzZWQgdG8gd2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxl
dGVkLgogLy8gSGFzIHRvIGJlIHBhc3NlZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJl
IGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFzay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXpl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBw
dWJsaWM6CiAgICAgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDgg
QEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGF0YWJhc2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRl
eCA3MTQ1ZTZiLi5hMWE1YmRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3
ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9y
aWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFi
YXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVUcmFja2Vy
KGNvbnN0IFN0cmluZyYgZGF0YWJhc2VQYXRoKTsKICAgICBzdGF0aWMgRGF0YWJhc2VUcmFja2Vy
JiB0cmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5z
YWN0aW9uTW9uaXRvci5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1v
bml0b3IuaAppbmRleCA3ODNhNzMxLi40ZmNjMjM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9J
REJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NCw3ICs0
Myw4IEBAIGNsYXNzIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZTsKIC8vIEZJWE1FOiBt
b3ZlIHRoZSB2ZWN0b3Igb2YgdHJhbnNhY3Rpb25zIHRvIFRMUy4gS2VlcGluZyBpdCBzdGF0aWMK
IC8vIHdpbGwgbm90IHdvcmsgb25jZSB3ZSBhZGQgc3VwcG9ydCBmb3Igd29ya2Vycy4gQW5vdGhl
ciBwb3NzaWJsZQogLy8gc29sdXRpb24gaXMgdG8ga2VlcCB0aGUgdmVjdG9yIGluIHRoZSBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LgotY2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhZGRQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlUGVuZGlu
Z1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSopOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9M
b2NhbFN0b3JhZ2VUYXNrLmgKaW5kZXggYTJlMzVlYS4uMjdhOGViNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9j
YWxTdG9yYWdlVGFzay5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQ7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMg
Y2xhc3MgdG8gU3RvcmFnZVRhc2sKLSAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5
bmMsIERlbGV0ZUVtcHR5RGF0YWJhc2UsIFRlcm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGhyZWFkLmgKaW5kZXggNmYwNTkxMS4uYTJjNzhjNiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFn
ZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUg
dGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFkCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRy
PExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJl
YWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBi
L1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi44MmQ3
Yzc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmln
aW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgT3JpZ2luUXVvdGFNYW5hZ2VyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Rv
cmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVj
b3JkLmgKaW5kZXggYTgzMGU2OC4uNzU1N2VhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdl
L09yaWdpblVzYWdlUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVj
b3JkLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBPYmplY3Rz
IG9mIHRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgZnJvbSBtdWx0aXBsZSB0aHJlYWRzIHdpdGggZXh0
ZXJuYWwgc3luY2hyb25pemF0aW9uLgogLy8gU3RyaW5nIGFyZ3VtZW50cyBhcmUgYWxzbyBzdXBw
b3NlZCB0byBiZSBkZWVwbHkgY29waWVkIGJ5IHRoZSBjYWxsZXIgd2hlbiBuZWNlc3NhcnkuCi1j
bGFzcyBPcmlnaW5Vc2FnZVJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBPcmln
aW5Vc2FnZVJlY29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luVXNhZ2VSZWNv
cmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJl
Y29yZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2
NTcuLjM5ODg4ZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNs
aWVudC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0z
Myw3ICszMyw2IEBACiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw4ICs0MCwxMCBAQCBj
bGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAvLyBBIGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rp
b24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2FjdGlvbiB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8g
cGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdzIGhhdmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlv
bi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxU
cmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAg
IFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5z
YWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQo
QWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRh
YmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5k
ZXggOTQzNjBjMC4uZmQ3Njc4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25D
b29yZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAg
ICBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKCkgeyB9CiAgICAgICAgIHZvaWQgYWNxdWlyZUxv
Y2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCByZWxlYXNlTG9jayhTUUxUcmFuc2Fj
dGlvbiopOwogICAgICAgICB2b2lkIHNodXRkb3duKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2
Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaCBiL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5z
aW9ucy5oCmluZGV4IGEwY2YyYmIuLjBlZDYyYTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5z
aW9ucy5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiBjbGFzcyBT
VkdTTUlMRWxlbWVudDsKIGNsYXNzIFNWR1NWR0VsZW1lbnQ7CiAKLWNsYXNzIFNWR0RvY3VtZW50
RXh0ZW5zaW9ucyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdEb2N1bWVudEV4dGVu
c2lvbnMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxS
ZWZQdHI8U1ZHU3R5bGVkRWxlbWVudD4gPiBTVkdQZW5kaW5nRWxlbWVudHM7CiAgICAgU1ZHRG9j
dW1lbnRFeHRlbnNpb25zKERvY3VtZW50Kik7CkBAIC02OCw5ICs2OSw2IEBAIHByaXZhdGU6CiAg
ICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFNWR1BlbmRpbmdFbGVtZW50cyo+IG1fcGVuZGluZ1Jl
c291cmNlczsKICAgICBPd25QdHI8U1ZHUmVzb3VyY2VzQ2FjaGU+IG1fcmVzb3VyY2VzQ2FjaGU7
CiAKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25z
Jik7Ci0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJiBvcGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zJik7Ci0KIHB1YmxpYzoKICAgICAvLyBUaGlzIEhhc2hNYXAgY29udGFpbnMg
YSBsaXN0IG9mIHBlbmRpbmcgcmVzb3VyY2VzLiBQZW5kaW5nIHJlc291cmNlcywgYXJlIHN1Y2gK
ICAgICAvLyB3aGljaCBhcmUgcmVmZXJlbmNlZCBieSBhbnkgb2JqZWN0IGluIHRoZSBTVkcgZG9j
dW1lbnQsIGJ1dCBkbyBOT1QgZXhpc3QgeWV0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudFJhcmVEYXRhLmggYi9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAppbmRl
eCA0Mjc2YzRhLi5kYTBmNGMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFy
ZURhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaApAQCAtMjEsNyAr
MjEsNiBAQAogI2RlZmluZSBTVkdFbGVtZW50UmFyZURhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMxLDcgKzMwLDggQEAgY2xh
c3MgU1ZHQ3Vyc29yRWxlbWVudDsKIGNsYXNzIFNWR0VsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50
SW5zdGFuY2U7CiAKLWNsYXNzIFNWR0VsZW1lbnRSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR0VsZW1lbnRSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9u
dERhdGEuaAppbmRleCBlODk3YTU5Li5mMjAyZDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9T
VkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBTVkdGb250RGF0YShTVkdGb250RmFjZUVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5TVkdGb250
RGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaCBiL1dl
YkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKaW5kZXggYzBhZTdmMy4uOGU0M2I5NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQmxlbmRlci5oCkBAIC0yMywxMSArMjMsMTEgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1
ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTb3VyY2UuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBT
VkdQYXRoQmxlbmRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQmxlbmRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aEJsZW5kZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdQYXRoQmxlbmRlcigpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0
aEJ5dGVTdHJlYW0uaAppbmRleCBiODg4MmI2Li4xZjQ1ZGY5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3Ry
ZWFtLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHUGF0aEJ5dGVTdHJlYW1faAogCiAj
aWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNDMsNyArNDIs
OCBAQCB0eXBlZGVmIHVuaW9uIHsKICAgICB1bnNpZ25lZCBjaGFyIGJ5dGVzW3NpemVvZih1bnNp
Z25lZCBzaG9ydCldOwogfSBVbnNpZ25lZFNob3J0Qnl0ZTsKIAotY2xhc3MgU1ZHUGF0aEJ5dGVT
dHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCeXRlU3RyZWFtKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVT
dHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENv
bnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi5k
YmJkY2ExIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5B
QkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQ
YXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1Bh
dGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNWR1BhdGhDb25zdW1lcigpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBpbmNyZW1lbnRQYXRoU2VnbWVudENvdW50KCkgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCBjb250aW51ZUNvbnN1bWluZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYW51cCgp
ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaCBiL1dlYkNvcmUv
c3ZnL1NWR1BhdGhQYXJzZXIuaAppbmRleCA3Njc5YTk1Li4wOTYxMzFjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNl
ci5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNpbmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNp
bmNsdWRlICJTVkdQYXRoU2VnLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFBhcnNlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdQYXRoUGFyc2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdQYXRoUGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZH
UGF0aFBhcnNlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgg
Yi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKaW5kZXggZDFhNjE0OS4uNzdiZjlmYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTb3VyY2UuaApAQCAtMjUsOCArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBTVkdQYXRoU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Bh
dGhTb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhTb3VyY2UpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAg
ICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01v
cmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMu
aCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uOGRjYzU4NyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdW
aWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZH
Rml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQ
YW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgU1ZHVmlld1NwZWMoU1ZHRWxlbWVudCopOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5jcHAKaW5kZXggYzk4MDRhZS4uZThhMDY1OSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCisrKyBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcApAQCAtNTUsNyArNTUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVibGljIEVtcHR5Q2hyb21lQ2xpZW50LCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1w
dHlDaHJvbWVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQ2hyb21l
Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHSW1hZ2VD
aHJvbWVDbGllbnQoU1ZHSW1hZ2UqIGltYWdlKQogICAgICAgICA6IG1faW1hZ2UoaW1hZ2UpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaCBiL1dlYkNvcmUv
d2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCmluZGV4IDY4NmMxN2MuLmNjNzkxZmIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCisrKyBiL1dlYkNvcmUv
d2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZsb2F0
MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7CiAjZW5kaWYKIAotY2xhc3MgUmVhbHRpbWVBbmFs
eXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFsdGltZUFuYWx5c2VyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFsdGltZUFuYWx5c2VyKTsKIHB1YmxpYzoKICAgICBS
ZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmlydHVhbCB+UmVhbHRpbWVBbmFseXNlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgg
Yi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAw
NWIzNzY3Li44ZjNmMTU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwuaApAQCAtMzQsNyArMzQsNiBAQAogI2lmIEVOQUJMRShXRUJfU09DS0VU
UykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDMsOCArNDIsMTAgQEAgY2xhc3MgS1VSTDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCi1jbGFzcyBUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwpOwogcHVibGljOgorICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkg
eyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCosIGNv
bnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKTsKIAogICAgIHZpcnR1YWwgdm9pZCBj
b25uZWN0KCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggOWM1
MjM3Ny4uYTM5Y2QwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00
OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXZWJTb2NrZXRDaGFu
bmVsQ2xpZW50OwogCiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LCBw
dWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNv
Y2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJT
b2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4
dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0
Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1
YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRI
YW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgK
QEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRz
aGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBj
bGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNv
Y2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAg
ICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9X
ZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRl
eCAzNjZlNGZhLi45ZjBiMDFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2Vy
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29y
a2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBX
b3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoV29ya2VyQ29udGV4dCog
d29ya2VyQ29udGV4dCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCogY2xpZW50LCBjb25zdCBTdHJp
bmcmIHRhc2tNb2RlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCiAg
ICAgewpAQCAtNzcsNyArNzgsOCBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIC8vIEdlbmVy
YXRlZCBieSB0aGUgYnJpZGdlLiAgVGhlIFBlZXIgYW5kIGl0cyBicmlkZ2Ugc2hvdWxkIGhhdmUg
aWRlbnRpY2FsCiAgICAgLy8gbGlmZXRpbWVzLgotICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2Vi
U29ja2V0Q2hhbm5lbENsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQZWVy
IDogcHVibGljIFdlYlNvY2tldENoYW5uZWxDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQZWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGVlciogY3JlYXRlKFJlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bENsaWVudFdyYXBwZXI+IGNsaWVudFdyYXBwZXIsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQ
cm94eSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB0YXNr
TW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgICAgICB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkuaCBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmlu
ZGV4IDIxZTE0YTEuLjQ5MDJhZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgpAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2hh
cmVkV29ya2VyUHJveHk7CiAKICAgICAvLyBQbGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlv
biBvZiB0aGUgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSBzdGF0aWMgaW50ZXJmYWNlLgotICAgIGNs
YXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhl
IHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJl
YWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5Jiwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNz
T3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXgg
NWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRl
eHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0
dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBi
ZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAg
ICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBPYnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7
CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsK
ICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLjRkZTkwZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9h
ZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xh
c3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJs
aWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3Jr
ZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxv
YWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5n
UHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdv
cmtlck1lc3NhZ2luZ1Byb3h5KFdvcmtlciopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyUnVuTG9vcC5jcHAgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAK
aW5kZXggODNmMjQzZi4uN2IzMTQ5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clJ1bkxvb3AuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcApAQCAt
MTA0LDcgKzEwNCw4IEBAIFN0cmluZyBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpCiAgICAg
cmV0dXJuIFN0cmluZygpOwogfQogCi1jbGFzcyBSdW5Mb29wU2V0dXAgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUnVuTG9vcFNldHVwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
dW5Mb29wU2V0dXApOwogcHVibGljOgogICAgIFJ1bkxvb3BTZXR1cChXb3JrZXJSdW5Mb29wJiBy
dW5Mb29wKQogICAgICAgICA6IG1fcnVuTG9vcChydW5Mb29wKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29w
LmgKaW5kZXggOWQ0ZWRmZC4uM2ZlYjRlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclJ1bkxvb3AuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCkBAIC02
NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBzdGF0aWMgU3RyaW5n
IGRlZmF1bHRNb2RlKCk7CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUYXNrPiBjcmVhdGUoUGFzc093blB0cjxTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrLCBjb25zdCBTdHJpbmcmIG1vZGUpOwogICAgICAg
ICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggZjYxMTIwZS4u
OWNkNGQ1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysr
IGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNp
bmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgiCiAKICNpbmNsdWRlIDx1dGlsaXR5PgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogI2luY2x1ZGUg
IkRhdGFiYXNlVGFzay5oIgpAQCAtNjEsNyArNjAsOCBAQCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6
OndvcmtlclRocmVhZENvdW50KCkKICAgICByZXR1cm4gbV90aHJlYWRDb3VudDsKIH0KIAotc3Ry
dWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IFdvcmtl
clRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCBiMGM3YTg3Li42NDc0MDMw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC02NSw3ICs2NSw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHN0YXRpYyBXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciB4bWxIdHRwUmVxdWVzdENv
dW50ZXIoIlhNTEh0dHBSZXF1ZXN0Iik7CiAjZW5kaWYKIAotc3RydWN0IFhNTEh0dHBSZXF1ZXN0
U3RhdGljRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0Rh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3Rh
dGljRGF0YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBt
X3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IGJjNjgxNWQuLmIxNWQzNTgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VE
ZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwg
cHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxYTUxIdHRwUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBYTUxIdHRwUmVxdWVzdChjb250ZXh0KSk7IH0KICAg
ICB+WE1MSHR0cFJlcXVlc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVz
c2lvbk5vZGUuaCBiL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAppbmRleCBjMDRk
NDViLi45M2ZiODU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2Rl
LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCkBAIC0zOSw3ICszOSw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAgICAgICAg
IAotICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKKyAg
ICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IHsKKyAgICAgICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVmUHRyPE5vZGU+
IG5vZGU7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemU7CiAgICAgICAgICAgICB1bnNp
Z25lZCBsb25nIHBvc2l0aW9uOwpAQCAtNTMsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgICAgICB2aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KICAgICAgICAgfTsKIAotICAg
ICAgICBjbGFzcyBFeHByZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSwgcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUgeworICAg
ICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXhwcmVzc2lvbik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlv
bkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1s
L1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdi
ZS4uNjE5ZDkxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIv
V2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAg
ICAgICBOb2RlU2V0KCkgOiBtX2lzU29ydGVkKHRydWUpLCBtX3N1YnRyZWVzQXJlRGlzam9pbnQo
ZmFsc2UpIHsgfQogICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFBh
cnNlci5oIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAppbmRleCA0NGE4ZTQ4Li40MGI3M2Rj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCisrKyBiL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgVG9rZW4oaW50IHQsIEVxVGVzdE9wOjpPcGNvZGUgdik6IHR5cGUodCksIGVxb3Ao
dikge30KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgICAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGFyc2VyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUGFyc2VyKCk7
CiAgICAgICAgICAgICB+UGFyc2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFBy
ZWRpY2F0ZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAppbmRleCA1ZjI0ODJhLi4z
NjAwMTU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBiL1dl
YkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKQEAgLTEwNSw3ICsxMDUsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBj
b25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAgICAgICAgIH07CiAKLSAgICAg
ICAgY2xhc3MgUHJlZGljYXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
UHJlZGljYXRlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByZWRpY2F0ZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQ
cmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAgICAgICAgICAgflByZWRpY2F0ZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmggYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaApp
bmRleCBlYzAyMmIzLi5iMDMxYmFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAu
aAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xhc3MgUHJlZGljYXRlOwogICAgICAgICAKLSAgICAg
ICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFN0ZXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3Rv
ckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAg
ICAgICB9OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAg
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgICAgIHB1YmxpYzoKICAg
ICAgICAgICAgICAgICBlbnVtIEtpbmQgewogICAgICAgICAgICAgICAgICAgICBUZXh0Tm9kZVRl
c3QsIENvbW1lbnROb2RlVGVzdCwgUHJvY2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5v
ZGVUZXN0LCBOYW1lVGVzdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5o
IGIvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCmluZGV4IGYzYTkzMTguLjVjMGNhOGEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL3htbC9Y
U0xJbXBvcnRSdWxlLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgQ2FjaGVkWFNMU3R5bGVTaGVldDsKIAogY2xhc3MgWFNMSW1wb3J0UnVsZSA6IHB1YmxpYyBT
dHlsZUJhc2UsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhTTEltcG9ydFJ1
bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVm
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGI2ZWJhMjEuLjg1MGJhNjcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTMwICBab2x0YW4g
SG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGlu
ZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5k
IHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4ICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAqIFN0cmluZ3NOb3RUb0Jl
TG9jYWxpemVkLnR4dDogVXBkYXRlZCBmb3IgcmVjZW50IGNoYW5nZXMuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Jv
dW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4uNDNkYjc5ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRP
YmplY3QuaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIEJvdW5kT2JqZWN0X2gKIAogI2lu
Y2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiAvLyBCb3VuZE9iamVjdCBpcyBhIGhlbHBlciBjbGFzcyB0aGF0IGxldHMgeW91
IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxscwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBj
YWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbmNlIEpTIG9iamVjdCBpcwogLy8gYnVpbHQu
Ci1jbGFzcyBCb3VuZE9iamVjdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBCb3VuZE9i
amVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQm91bmRPYmplY3QpOwogcHVibGljOgog
ICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQsIHZvaWQqIHY4
VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFtZSk7CiAgICAgdmlydHVhbCB+Qm91bmRPYmplY3Qo
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
Y3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXgg
MDg2MGNiMS4uNTljMjE3NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50
TWFuYWdlci5jcHAKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIK
ICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0
ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01NSw3ICs1NCw4IEBAIGJvb2wgRGVi
dWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3NlVjhEZWJ1Z2dlclByb3RvY29sID0gZmFsc2U7CiAK
IG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6
OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWxsZXJJZFdyYXBwZXIg
OiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGljOgogICAgIENhbGxlcklkV3JhcHBlcigpIDogbV9j
YWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9jYWxsZXJJZCgwKSB7IH0KICAgICBleHBsaWNpdCBD
YWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklkKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3MTQuLmI3ODU2Y2YgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAorKysgYi9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRl
IDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYzLDcgKzYyLDggQEAgY2xhc3MgV2Vi
Vmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qgc29tZSBhY3Rpb25zIGZyb20gdGhlIGhhbmRsZXIu
IElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlCiAvLyBkZWJ1Z2dlciBhZ2VudCB0byBoYW5kbGUg
c3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3aWxsIHBlcmZvcm0gdGhlIGFjdGlvbgogLy8gaXRz
ZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcgd2FpdGluZyBmb3IgdGhlIGFjdGlvbi4KLWNsYXNz
IERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlYnVn
Z2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWJ1Z2dlckFnZW50
TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVidWdBdHRhY2goRGVidWdnZXJB
Z2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRlYnVnRGV0YWNoKERl
YnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4IGZjMjFmM2UuLjA1OTZjYWQg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGxfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0OwpAQCAtNDQsOCArNDMsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6
Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKTsKIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoV2ViQ29yZTo6UGFnZSosIFdlYkRldlRv
b2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCopOwogICAgIHZpcnR1
YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAppbmRleCA5ZjRjZTg3Li5kMTFiOGYzIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApAQCAtNjAsNyArNjAs
NiBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5o
IgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogdXNpbmcgV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRl
bmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgK
aW5kZXggODY2YTFjYi4uYjA4NTMzOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2
VG9vbHNGcm9udGVuZEltcGwuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNTUsOCArNTQsOCBA
QCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogdXNpbmcgV1RGOjpTdHJpbmc7CiAK
LWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9v
bHNGcm9udGVuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpX
ZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJEZXZUb29s
c0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAgICAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwoCiAg
ICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwqIHdlYlZpZXdJbXBsLApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCmluZGV4IDQ0MjJlMWIuLjI2Yjk2YmMgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4MCw3ICsyODAsOCBAQCBXZWJQbHVnaW5Db250YWluZXJJ
bXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShGcmFtZSogZnJhbWUp
CiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVycmlkZSBzb21lIG9mIFByaW50Q29udGV4dCBiZWhh
dmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwogLy8gbWFkZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBj
YW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBsdWdpblByaW50Q29udGV4dC4KLWNsYXNzIENocm9t
ZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmludENvbnRleHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQcmludENvbnRleHQpOwogcHVibGljOgogICAgIENo
cm9tZVByaW50Q29udGV4dChGcmFtZSogZnJhbWUpCiAgICAgICAgIDogUHJpbnRDb250ZXh0KGZy
YW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAppbmRleCAyMjFiYTAzLi4x
ZTkyNDc0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiAr
NTYsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIGNsYXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMg
V2ViUG9wdXBNZW51LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpG
cmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudUltcGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2Uo
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysr
IGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZs
LmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVi
bGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmly
dHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93
bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRk
b3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGli
Lmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5o
IgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVk
LCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGlj
IE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxv
YWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2Fk
Q2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFk
ZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4
MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNv
cHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0
Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0
ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAx
MDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRl
bWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5T
VUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNo
YWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlw
ZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3Vs
dCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2Jq
ZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAg
IH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRh
dGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRy
YWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0
L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFj
L1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdl
YkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9
CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9k
aWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5U
aHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBv
cmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktp
dC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3
ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENT
eXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdp
dCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlh
bnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVu
dW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiAr
MjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQg
OiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51
bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBh
ZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJ
bnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NP
TVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2
Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBi
L1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5l
IE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFy
aWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUg
S2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVu
YW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJv
cGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09N
UHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7
DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQog
ICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFw
VHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhj
NjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0x
MDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9Owog
Ci1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2Ny
ZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAg
dmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFn
ZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2Vi
RGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5j
cHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBz
MSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBE
YXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJ
UHJvcGVydHlCYWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1By
b3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlC
YWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyAr
MzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRl
bGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmln
aW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdl
ciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rv
ci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5z
cGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDEx
IEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5z
cGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0
ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2Vi
SW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3Rv
ciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5n
cy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJM
b2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJp
bmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1l
d29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0
cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9j
YWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0
cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93
aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9X
ZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3Js
ZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01X
cmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlh
YmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVi
bGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0
V29ybGQpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3Js
ZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQv
d2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQK
LS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4v
V2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJp
YWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVk
SlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2Vi
U2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMg
SVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2Vy
aWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50
VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93
aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29u
dGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVu
dFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRV
UkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2Vi
VXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2Vy
Q29udGVudFVSTFBhdHRlcm4pOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNv
bnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDcwNGY3MzEuLjg0YWVmOTkgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTAtMTEtMzAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTI5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBCaW5hcnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1By
aW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJm
Ni4uZWMxYWNjZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9X
ZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVs
ZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5
LDcgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1vZHVsZSk7CiBwdWJsaWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAg
fk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBi
L1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQy
L1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJl
ZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAKQEAgLTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUK
ICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhh
bmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGlj
OgogICAgICAgICBIYW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHku
aAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAg
LTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
UnVuTG9vcC5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEw
YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysr
IGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBA
QCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nl
c3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgog
ICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApp
bmRleCA3OGZlMWY0Li44YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFBy
b2Nlc3MuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3
LDExIEBACiAjZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6
CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0
Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjku
LjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXIuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2Fn
ZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRi
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysg
Yi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBA
QAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50
aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJL
aXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIv
U2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5k
Ym94RXh0ZW5zaW9uX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L0ZpbmRJbmRpY2F0b3JXaW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZElu
ZGljYXRvcldpbmRvdy5oCmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBA
CiAjaWZuZGVmIEZpbmRJbmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2lu
ZG93X2gKIAotI2ltcG9ydCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093
blB0ci5oPgogI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFu
YWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5o
CmluZGV4IGMyNjVmMmUyLi4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxF
KFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBD
b3JlSVBDIHsKQEAgLTQxLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVn
aW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblBy
b2Nlc3NNYW5hZ2VyIDogTm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2Vy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNw
cCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAK
aW5kZXggZmU3ZDg5Ni4uOWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVj
dG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJl
dHVybiBkaXJlY3RvcmllczsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRo
V2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlk
ZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1
MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1By
b3ZpZGVyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBA
IC0zMSwxMyArMzEsMTMgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4
dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVk
TGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVy
KFdlYkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fk
cy9Eb3dubG9hZC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmlu
ZGV4IDU0ZjMyNWEuLmZjMWNmMGUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWQuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25s
b2FkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMp
CkBAIC01OSw3ICs1OCw2IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVi
bGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3du
bG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYpOwogICAgIH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKaW5kZXggMWYyN2I4Ni4uYjY2ZGFjNyAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsy
Nyw2IEBACiAjZGVmaW5lIERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisr
KyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAt
MjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpA
QCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVj
dE1hcDsKICAgICAKIC8vIE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpT
T2JqZWN0LgotY2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUg
eworY2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTlBKU09iamVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNy
ZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmpl
Y3QpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
TWFuYWdlci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBw
cm9jZXNzIGNvbm5lY3Rpb25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bjsKICAgICAgICAgCi1jbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25j
b3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVy
LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDEx
MGE3YTQuLjliYjZmMjcgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Zp
bmRDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRy
b2xsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIlBhZ2VPdmVybGF5LmgiCiAjaW5j
bHVkZSAiV2ViRmluZE9wdGlvbnMuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
SW5zcGVjdG9yLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApp
bmRleCBmYmQwOTQyLi40YTZlNGQ0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3IuaApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cg
Yi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggMWYyZWUxYy4uOWY4ZTMzOCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEwLTExLTMwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdl
dCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAg
ICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdl
dHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5k
CisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1l
bnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jh
c2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTI5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgR1RLIER1bXBSZW5kZXJUcmVlIGJ1aWxkIGZpeCBhZnRlciByNzI4
ODcuCkBAIC0xOTc2Niw3ICsxOTc3OCw3IEBACiAKIDIwMTAtMDctMDcgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAotICAgICAgICBDb21tZW50IG91dCBhIHBhcnQgb2Yg
VGVzdE5ldHNjYXBlUGx1Z2luIHRoYXQgY2F1c2VkIHRlc3RzwqB0byBmYWlsIG9uIFRpZ2VyIGFu
ZCBMZW9wYXJkLgorICAgICAgICBDb21tZW50IG91dCBhIHBhcnQgb2YgVGVzdE5ldHNjYXBlUGx1
Z2luIHRoYXQgY2F1c2VkIHRlc3RzwiB0byBmYWlsIG9uIFRpZ2VyIGFuZCBMZW9wYXJkLgogCiAg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL21haW4uY3BwOgogICAg
ICAgICAoTlBQX05ldyk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9G
b3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251
bGwKQEAgLTEgKzAsMCBAQAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3Vu
ZENsYXNzLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENs
YXNzLmgKaW5kZXggNmNiNjM4ZS4uYmQzNmQ1OCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApAQCAtNDUsNyArNDUsNiBAQAog
CiAjaW5jbHVkZSAiQ3BwVmFyaWFudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNTgsNyArNTcsOCBAQCB0eXBlZGVmIFZlY3RvcjxDcHBW
YXJpYW50PiBDcHBBcmd1bWVudExpc3Q7CiAKIC8vIENwcEJvdW5kQ2xhc3MgbGV0cyB5b3UgbWFw
IEphdmFzY3JpcHQgbWV0aG9kIGNhbGxzIGFuZCBwcm9wZXJ0eSBhY2Nlc3NlcwogLy8gZGlyZWN0
bHkgdG8gQysrIG1ldGhvZCBjYWxscyBhbmQgQ3BwVmFyaWFudCogdmFyaWFibGUgYWNjZXNzLgot
Y2xhc3MgQ3BwQm91bmRDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDcHBCb3Vu
ZENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcHBCb3VuZENsYXNzKTsKIHB1Ymxp
YzoKICAgICBjbGFzcyBQcm9wZXJ0eUNhbGxiYWNrIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50Lmgg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgK
aW5kZXggZTE0NzhkMC4uMGRhYzRjNyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApAQCAtMzUsNyArMzUsNiBAQAog
I2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0FnZW50Q2xpZW50LmgiCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQ5LDggKzQ4LDggQEAgc3RydWN0IFdlYkRldlRvb2xz
TWVzc2FnZURhdGE7CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50OwogCi1jbGFzcyBEUlREZXZU
b29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29s
c0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2
VG9vbHNBZ2VudCgpOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQWdlbnQoKSB7fQpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGll
bnQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xp
ZW50LmgKaW5kZXggOWNhMTQwMi4uMDMwZDY4NyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCkBAIC0zNCw3ICsz
NCw2IEBACiAjaW5jbHVkZSAiRFJURGV2VG9vbHNDYWxsQXJncy5oIgogI2luY2x1ZGUgIlRhc2su
aCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKQEAgLTQ4LDggKzQ3LDggQEAgY2xhc3MgV2ViVmlldzsKIAogY2xhc3MgRFJURGV2VG9v
bHNBZ2VudDsKIAotY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJE
ZXZUb29sc0Zyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29sc0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YkRldlRvb2xzRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERl
dlRvb2xzQ2xpZW50KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29sc0NsaWVudChEUlREZXZUb29s
c0FnZW50KiwgV2ViS2l0OjpXZWJWaWV3Kik7CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNDbGll
bnQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKaW5kZXggYjY3MTQ4OS4uODUwMmE5NiAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmln
YXRpb25Db250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3ICsxMTEsOCBAQCBwdWJsaWM6
CiAKIC8vIFRlc3Qgc2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxlci4gVGhlIGdvYWwgaXMgdG8g
YmUgYXMgY2xvc2UgdG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBhcyBwb3NzaWJsZS4KLWNsYXNz
IFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdE5h
dmlnYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0TmF2aWdhdGlvbkNvbnRyb2xs
ZXIoTmF2aWdhdGlvbkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRpb25Db250cm9sbGVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNv
bnRyb2xEUlQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1l
Q29udHJvbERSVC5oCmluZGV4IDM4ODMxZDkuLjk2MThkYzQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCkBA
IC00MSwxMiArNDEsMTIgQEAKIAogI2luY2x1ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5o
IgogI2luY2x1ZGUgInRoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3JlL1NrQ29sb3IuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gU2tpYSBmb3J3YXJkIGRlY2xhcmF0aW9u
cwogc3RydWN0IFNrSVJlY3Q7CiAKLWNsYXNzIFdlYlRoZW1lQ29udHJvbERSVCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYlRoZW1lQ29udHJvbERSVCk7CiBwdWJsaWM6CiAgICAgLy8gVGhpcyBsaXN0
IG9mIHN0YXRlcyBtb3N0bHkgbWlycm9ycyB0aGUgbGlzdCBpbiBXZWJDb3JlL3BsYXRmb3JtL1Ro
ZW1lVHlwZXMuaAogICAgIC8vIGJ1dCBpcyBtYWludGFpbmVkIHNlcGFyYXRlbHkgc2luY2UgdGhh
dCBpc24ndCBwdWJsaWMgYW5kIGFsc28gdG8gbWluaW1pemUKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmggYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCmluZGV4IGU1
MDg4NmIuLjUzNjJmYjMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaApAQCAtNDgsOSArNDgsOSBAQAogI2RlZmlu
ZSBXZWJUaGVtZUVuZ2luZURSVF9oCiAKICNpbmNsdWRlICJ3aW4vV2ViVGhlbWVFbmdpbmUuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAotY2xhc3MgV2ViVGhlbWVFbmdpbmVEUlQg
OiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lRW5naW5lRFJUKTsKIHB1YmxpYzoKICAg
ICBXZWJUaGVtZUVuZ2luZURSVCgpIHt9CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktp
dEFQSVRlc3QvSG9zdFdpbmRvdy5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2lu
ZG93LmgKaW5kZXggYTI3MzRlZC4uYzE3MTgxMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2Vi
S2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9I
b3N0V2luZG93LmgKQEAgLTI2LDExICsyNiwxMCBAQAogI2RlZmluZSBIb3N0V2luZG93X2gKIAog
I2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgewogcHVibGljOgogICAgIEhvc3RXaW5kb3coKTsK
ICAgICB+SG9zdFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVz
dC9UZXN0c0NvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250
cm9sbGVyLmgKaW5kZXggMTFiNDU3ZC4uYmRjYzQ1NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
V2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRB
UElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCkBAIC0yOCwxMyArMjgsMTMgQEAKICNpbmNsdWRlIDx3
aW5kb3dzLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQSVRl
c3QgewogCiBjbGFzcyBUZXN0OwogCi1jbGFzcyBUZXN0c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGVzdHNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUZXN0c0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXN0c0NvbnRyb2xs
ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmggYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmgKaW5kZXggZmVjMWY3YS4uMjM2Y2MxYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAtMjcsMTEgKzI3LDEwIEBACiAjZGVmaW5l
IFRlc3RJbnZvY2F0aW9uX2gKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdUUiB7CiAKLWNsYXNzIFRl
c3RJbnZvY2F0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RJbnZvY2F0aW9u
IHsKIHB1YmxpYzoKICAgICBUZXN0SW52b2NhdGlvbihjb25zdCBjaGFyKik7CiAgICAgflRlc3RJ
bnZvY2F0aW9uKCk7Cg==
</data>
<flag name="review"
          id="65854"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75696</attachid>
            <date>2010-12-06 07:41:43 -0800</date>
            <delta_ts>2010-12-06 08:43:35 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>hetfo1.patch</filename>
            <type>text/plain</type>
            <size>327943</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjA5NzE3MDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBTdGF0aWNWYWx1ZUVudHJ5KEpTT2Jq
ZWN0R2V0UHJvcGVydHlDYWxsYmFjayBfZ2V0UHJvcGVydHksIEpTT2JqZWN0U2V0UHJvcGVydHlD
YWxsYmFjayBfc2V0UHJvcGVydHksIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQog
ICAgICAgICA6IGdldFByb3BlcnR5KF9nZXRQcm9wZXJ0eSksIHNldFByb3BlcnR5KF9zZXRQcm9w
ZXJ0eSksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNDUsNyArNDcsOSBAQCBz
dHJ1Y3QgU3RhdGljVmFsdWVFbnRyeSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiB9OwogCi1zdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFN0YXRpY0Z1bmN0aW9uRW50cnkoSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIF9jYWxsQXNGdW5jdGlvbiwgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAgICAgICAgIDogY2FsbEFzRnVuY3Rpb24oX2NhbGxBc0Z1
bmN0aW9uKSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC02Miw3ICs2Niw5IEBA
IHN0cnVjdCBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNzIChKU0NsYXNzKSBp
cyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGFueSBj
b250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMgc3RydWN0dXJlIGhv
bGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3JvdXBzLgotc3RydWN0
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE9w
YXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4
Y2E4Li5kNmRlNDI2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0
ODAsOSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LXN0cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEpCiAgICAgICAgIDogcmVmQ291bnQoMCkKICAgICAgICAgLCBnbG9iYWxEYXRh
KGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYWE0ZmEzMi4uM2Q5NWVhMCAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTEyLTA2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUg
YW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUg
RmFzdEFsbG9jQmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAg
ICAgKiB3dGYvTm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1w
bGVtZW50YXRpb24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IEFkZCBOb25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50
YXRpb24uCisKIDIwMTAtMTItMDUgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFdpbmRvd3MgcHJvZHVjdGlvbiBidWlsZCBmaXgKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL0dOVW1ha2VmaWxlLmFtIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KaW5k
ZXggODlmOWFiNy4uYTgzMTE4YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZp
bGUuYW0KKysrIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ2Nyw3ICs0Njcs
NiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTUQ1
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBcCiAJSmF2YVNjcmlwdENv
cmUvd3RmL05vbkNvcHlpbmdTb3J0LmggXAotCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUv
d3RmL051bGxQdHIuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmggXApkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaSBiL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKaW5kZXggNjc2YTM1ZC4uODQ4M2E0ZCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5neXBpCkBAIC0zOTgsNyArMzk4LDYgQEAKICAgICAgICAgICAgICd3
dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVzc2FnZVF1ZXVlLmgnLAogICAg
ICAgICAgICAgJ3d0Zi9Ob25Db3B5aW5nU29ydC5oJywKLSAgICAgICAgICAgICd3dGYvTm9uY29w
eWFibGUuaCcsCiAgICAgICAgICAgICAnd3RmL05vdEZvdW5kLmgnLAogICAgICAgICAgICAgJ3d0
Zi9PU0FsbG9jYXRvcldpbi5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9PU0FsbG9jYXRvci5oJywK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RG
LnZjcHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZj
cHJvagppbmRleCA0YTNlODU5Li5hYTNjMTg5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC02NTMsMTAgKzY1Myw2IEBA
CiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXE5v
bmNvcHlhYmxlLmgiCi0JCQk+Ci0JCTwvRmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0i
Li5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiCiAJCQk+CiAJCTwvRmlsZT4KZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGU3ZGUwZTEuLmMyZDRhNDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ2LDcgKzQ0Niw2
IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAyNTU1OTdEMDFG
RjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNzYWdlUXVldWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUU3OThC
MEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyog
Tm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2
OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb25jb3B5YWJs
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwM0Y1
NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAwQjM0NDYwIC8q
IE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3Iu
aCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9y
Lmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMy
NjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oICovOyB9Owog
CQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1OTdEMDFGRjYw
RjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTg4Myw3ICs4ODIsNiBAQAogCQk5MDVCMDJBRDBFMjg2NDBGMDA2REY4
ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3VudGVkTGVha0Nv
dW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291bnRlZExlYWtD
b3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3MDk5MTE4RkEw
MEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3du
UHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5MTE5MDAwMEFE
NzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
b25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAzRjVBNDA5OTEx
QTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJD
MzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yMjE3LDcgKzIyMTUsNiBAQAogCQkJCTdFRkYwMDY0MEVDMDVBOUEw
MEFBN0M5MyAvKiBOb2RlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0M0YwRTE2RjVD
RDAwQjM0NDYwIC8qIE5vZGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUUxQTNERjEyMkI4OTQ1
MDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDMThDNDQw
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBB
MjcyNjMwRTUwQTA2MzAwRTk2RTE1IC8qIE5vdEZvdW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzE4QzQ0MTBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMThDNDQyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5s
dXQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0
cmFjdE1hY3JvQXNzZW1ibGVyLmgKaW5kZXggMDdiZDcwMi4uZmQ0YmMxMyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCkBAIC0yOCw3
ICsyOCw2IEBACiAKICNpbmNsdWRlICJDb2RlTG9jYXRpb24uaCIKICNpbmNsdWRlICJNYWNyb0Fz
c2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVW51c2VkUGFyYW0uaD4KIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRleCBlMzhiOWQ0Li4wMzA0MmY4IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgRFVN
UF9DT0RFIDAKIAogI2luY2x1ZGUgPE1hY3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01MCw3ICs0OSw4IEBAIG5hbWVz
cGFjZSBKU0MgewogLy8gICAqIFRoZSBhZGRyZXNzIG9mIGEgTGFiZWwgcG9pbnRpbmcgaW50byB0
aGUgY29kZSBtYXkgYmUgcmVzb2x2ZWQuCiAvLyAgICogVGhlIHZhbHVlIHJlZmVyZW5jZWQgYnkg
YSBEYXRhTGFiZWwgbWF5IGJlIHNldC4KIC8vCi1jbGFzcyBMaW5rQnVmZmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExpbmtCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExpbmtCdWZmZXIpOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIENvZGVSZWY7
CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgQ29kZVB0cjsKICAgICB0eXBlZGVm
IE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBMYWJlbDsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVw
YXRjaEJ1ZmZlci5oCmluZGV4IDcyY2Y2YjIuLmU1YTZlMmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShBU1NF
TUJMRVIpCiAKICNpbmNsdWRlIDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAppbmRleCA3ZWNhNzJhLi5kZGVhOGUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaApAQCAtMjQyLDcgKzI0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNlbmRpZgog
Ci0gICAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IENvZGVCbG9jayB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBm
cmllbmQgY2xhc3MgSklUOwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlw
dEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0Kiwg
UGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9s
VGFibGUqIHN5bWJvbFRhYmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc3LDggKzU3OCwx
MCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgVmVjdG9yPFJlZlB0cjxGdW5jdGlvbkV4ZWN1
dGFibGU+ID4gbV9mdW5jdGlvbkV4cHJzOwogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJv
bFRhYmxlOwotCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHB1YmxpYzoKKyAgICAgICAgc3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBWZWN0b3I8SGFu
ZGxlckluZm8+IG1fZXhjZXB0aW9uSGFuZGxlcnM7CiAKICAgICAgICAgICAgIC8vIFJhcmUgQ29u
c3RhbnRzCkBAIC01OTksNiArNjAyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBW
ZWN0b3I8Q2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQ+IG1fY2FsbFJldHVybkluZGV4
VmVjdG9yOwogI2VuZGlmCiAgICAgICAgIH07CisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRy
PFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0
cnVjdGlvbi5oCmluZGV4IGM2NDY4YTUuLmYwNzdjYmYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
SW5zdHJ1Y3Rpb24uaApAQCAtNTQsNyArNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBTdHJ1Y3R1cmVDaGFpbjsKIAogICAgIC8vIFN0cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9p
ZF9zZWxmX2xpc3QgYW5kIG9wX2dldF9ieV9pZF9wcm90b19saXN0IGluc3RydWN0aW9uIHRvIGhv
bGQgZGF0YSBvZmYgdGhlIG1haW4gb3Bjb2RlIHN0cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBo
aWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHlt
b3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKICAgICAgICAgc3RydWN0IFBvbHltb3JwaGljU3R1YkluZm8gewog
ICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAgICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NT
dHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAtMTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9zdENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lm
IEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCogc2FtcGxpbmdUb29sKQogICAgICAgICAg
ICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxpbmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgfQogICAgICAgICB9OwogI2Vsc2UKLSAgICAg
ICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNz
IENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29y
ZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29s
KikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4uMWQyYmQwOCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAK
ICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVk
ZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBj
bGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sg
VmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3Rh
Y2sgRnVuY3Rpb25TdGFjazsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9SZWdpc3RlcklELmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5o
CmluZGV4IDM1MzJhZDguLjc4ZDQ5ZDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9SZWdpc3RlcklELmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1Jl
Z2lzdGVySUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgUmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0
ZXJJRCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1
YmxpYzoKICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaCBiL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBkZmJlNjU4Li43NDAw
MDFkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCkBAIC0zMiw3ICsz
Miw4IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7Ci0gICAg
Y2xhc3MgQ2FjaGVkQ2FsbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FjaGVk
Q2FsbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZENhbGwpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENhY2hlZENhbGwoQ2FsbEZy
YW1lKiBjYWxsRnJhbWUsIEpTRnVuY3Rpb24qIGZ1bmN0aW9uLCBpbnQgYXJnQ291bnQpCiAgICAg
ICAgICAgICA6IG1fdmFsaWQoZmFsc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuaAppbmRleCA0Nzc5MGNmLi43NTNkOTBlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJf
aAogCiAjaW5jbHVkZSAiQXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNp
bmNsdWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmpl
Y3QuaCIKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4
TGFyZ2VUaHJlYWRSZWVudHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRo
ID0gMzIgfTsKIAotICAgIGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIEludGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNo
ZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCmlu
ZGV4IDM4ZDE2NDcuLjM5NDQ2NDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIu
aApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDcsNyArNDYsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYgRXhlY1N0YXRlIENhbGxGcmFtZTsKIAot
ICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6RmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVn
aXN0ZXJGaWxlLmgKaW5kZXggZDlmNmEyYi4uNjgyMjAzNSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJSZWdp
c3Rlci5oIgogI2luY2x1ZGUgIldlYWtHQ1B0ci5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlvbi5o
PgogI2luY2x1ZGUgPHd0Zi9WTVRhZ3MuaD4KIApAQCAtODksNyArODgsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJG
aWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQg
Y2xhc3MgSklUOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRy
eSB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDRkMjUxM2QuLjcyNTQ3ZWIgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3Mg
UmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGV4ZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENoYXJhY3RlciBtYW5p
cHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAgICBzdGF0aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50
IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDY5MzBmNjMuLmM2YTBiOGQgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xMzc0LDcgKzEzNzQsOSBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgUGFyYW1ldGVyTm9kZSogbV9uZXh0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgU2Nv
cGVOb2RlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBTY29wZU5vZGVEYXRhIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICB0
eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlw
ZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwogCkBA
IC0xNDcwLDYgKzE0NzIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9OwogCiAgICAgY2xhc3Mg
RnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlmaWVyPiwgcHVibGljIFJl
ZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RnVuY3Rpb25Q
YXJhbWV0ZXJzPiBjcmVhdGUoUGFyYW1ldGVyTm9kZSogZmlyc3RQYXJhbWV0ZXIpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBGdW5jdGlvblBhcmFtZXRlcnMoZmlyc3RQYXJhbWV0ZXIpKTsgfQogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNjU0OTA2Ny4uNDUyYTNlMSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlBhcnNlckFyZW5hLmgiCiAjaW5j
bHVkZSAiU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKQEAgLTQ1LDggKzQ0LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXJzZXJBcmVuYURhdGEgOiBQYXJzZXJB
cmVuYURlbGV0YWJsZSB7IFQgZGF0YTsgfTsKIAotICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAg
ICAgICBQYXJzZXIoKSB7IH0KICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFBhcnNlZE5vZGU+CiAg
ICAgICAgIFBhc3NSZWZQdHI8UGFyc2VkTm9kZT4gcGFyc2UoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIERlYnVnZ2VyKiwgRXhlY1N0YXRlKiwgY29uc3QgU291cmNlQ29kZSYg
c291cmNlLCBGdW5jdGlvblBhcmFtZXRlcnMqLCBKU1BhcnNlclN0cmljdG5lc3Mgc3RyaWN0bmVz
cywgSlNPYmplY3QqKiBleGNlcHRpb24pOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyQXJlbmEuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5o
CmluZGV4IDdjMTgwOWUuLjgyZmI4MDggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJBcmVuYS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5o
CkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFBhcnNlckFyZW5h
RGVsZXRhYmxlOwogICAgIGNsYXNzIFBhcnNlckFyZW5hUmVmQ291bnRlZDsKIAotICAgIGNsYXNz
IElkZW50aWZpZXJBcmVuYSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJZGVu
dGlmaWVyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYgbWFrZUlkZW50aWZp
ZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgp
OwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50aWZpZXIoSlNHbG9i
YWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAgfQogCi0gICAgY2xh
c3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyQXJlbmEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAgICAgcHVibGljOgog
ICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEoKTsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFTY3JpcHRDb3JlL3Bj
cmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi4wYmZmM2FkIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcGNyZS9w
Y3JlX2V4ZWMuY3BwCkBAIC00Niw2ICs0Niw3IEBAIHRoZSBKYXZhU2NyaXB0IHNwZWNpZmljYXRp
b24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMuICovCiAjaW5jbHVk
ZSAicGNyZV9pbnRlcm5hbC5oIgogCiAjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3Ry
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKQEAgLTExMiw3ICsxMTMsOSBAQCBzdHJ1Y3QgQnJhY2tldENoYWluTm9kZSB7CiAgICAg
Y29uc3QgVUNoYXIqIGJyYWNrZXRTdGFydDsKIH07CiAKLXN0cnVjdCBNYXRjaEZyYW1lIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgTWF0Y2hGcmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CiAgICAgUmV0dXJuTG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAg
c3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3VzRnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRleCA3NmMxNDcwLi5hOTgyN2MwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2Rl
ZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNp
bmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAg
ICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3Ry
dWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgcHVibGljOgogICAgICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3Vy
bDsKICAgICAgICAgdW5zaWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaCBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyLmgKaW5kZXggZjljMmNjYi4uZjg4NzQ2ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cHJvZmlsZXIvUHJvZmlsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ci5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFVTdHJpbmc7
CiAgICAgc3RydWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAgIGNsYXNzIFByb2ZpbGVyIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2ZpbGVyIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUHJvZmls
ZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNjMjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJnTGlzdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlz
dC5oCkBAIC0yNSwxNCArMjUsMTQgQEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRl
ICJSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZEFyZ3VtZW50QnVmZmVyKTsKICAg
ICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkg
PSA4OwogICAgICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlciwgaW5saW5lQ2FwYWNpdHk+IFZl
Y3RvclR5cGU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5mZTkw
MGEyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcgKzMzLDEwIEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBOb25jb3B5YWJs
ZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0
aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0
MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRj
aGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1p
emVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0
LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9u
T3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5kZXggZGQyNmJjMy4uNWNiMWU0MSAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3Rm
L0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyArODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBIZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAg
ICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAxZTIyYjZhLi5iNTNhZTQzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAj
ZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2Yg
cHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1hY3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1
cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVwZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyAr
ODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb21tb25JZGVudGlmaWVycyB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgQ29tbW9uSWRlbnRpZmllcnMo
SlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaAppbmRleCA3ZDQ5MjlkLi43MzYzYWY4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVk
ZSAiTWFya1N0YWNrLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKaW5kZXggNzE0OTk5Zi4uMGM1YmJlZCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNDY1LDcgKzQ2NSw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICByZXR1cm4gbmV3IChleGVjKSBKU0FycmF5KGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKS0+YXJyYXlTdHJ1Y3R1cmUoKSwgdmFsdWVzKTsKICAgICB9CiAKLSAgICBjbGFzcyBE
eW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSk7CiAgICAgcHVibGljOgogICAgICAgICBEeW5hbWlj
R2xvYmFsT2JqZWN0U2NvcGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0KiBk
eW5hbWljR2xvYmFsT2JqZWN0KSAKICAgICAgICAgICAgIDogbV9keW5hbWljR2xvYmFsT2JqZWN0
U2xvdChjYWxsRnJhbWUtPmdsb2JhbERhdGEoKS5keW5hbWljR2xvYmFsT2JqZWN0KQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmgKaW5kZXggMDViMzg4Yy4uNjRkN2E0YyAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0xvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIEpTTG9ja19oCiAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIApAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0g
SlNMb2NrQmVoYXZpb3IgeyBTaWxlbmNlQXNzZXJ0aW9uc09ubHksIExvY2tGb3JSZWFsIH07CiAK
LSAgICBjbGFzcyBKU0xvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEpTTG9j
ayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTG9jayk7CiAgICAgcHVibGljOgog
ICAgICAgICBKU0xvY2soRXhlY1N0YXRlKik7CiAgICAgICAgIEpTTG9jayhKU0dsb2JhbERhdGEq
KTsKQEAgLTg5LDcgKzg5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgSlNMb2NrQmVo
YXZpb3IgbV9sb2NrQmVoYXZpb3I7CiAKLSAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERyb3BBbGxMb2Nrcyk7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIERyb3BBbGxMb2NrcyhFeGVjU3RhdGUqIGV4ZWMpOwogICAgICAgICAgICAg
RHJvcEFsbExvY2tzKEpTTG9ja0JlaGF2aW9yKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmpl
Y3QuY3BwCmluZGV4IGI1NDc3YTEuLjBiNzIyYjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09O
T2JqZWN0LmNwcApAQCAtNzAsNyArNzAsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1
ZSBtX3ZhbHVlOwogfTsKIAotY2xhc3MgU3RyaW5naWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5naWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lm
aWVyKTsKIHB1YmxpYzoKICAgICBTdHJpbmdpZmllcihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxh
Y2VyLCBKU1ZhbHVlIHNwYWNlKTsKICAgICB+U3RyaW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oCmluZGV4IDliYzgxZDQuLjBkNmQ5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTG9va3VwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApA
QCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYgdm9pZCAoKlB1dEZ1bmN0
aW9uKShFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSB2YWx1ZSk7CiAK
LSAgICBjbGFzcyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
SGFzaEVudHJ5IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFy
IGF0dHJpYnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXJrU3RhY2suaAppbmRleCBjM2VmYzhmLi4yYzNmNzk0IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNkZWZpbmUgTWFya1N0
YWNrX2gKIAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvT1NBbGxvY2F0b3IuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIAog
ICAgIGVudW0gTWFya1NldFByb3BlcnRpZXMgeyBNYXlDb250YWluTnVsbFZhbHVlcywgTm9OdWxs
VmFsdWVzIH07CiAgICAgCi0gICAgY2xhc3MgTWFya1N0YWNrIDogTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1hcmtTdGFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtTdGFj
ayk7CiAgICAgcHVibGljOgogICAgICAgICBNYXJrU3RhY2sodm9pZCoganNBcnJheVZQdHIpCiAg
ICAgICAgICAgICA6IG1fanNBcnJheVZQdHIoanNBcnJheVZQdHIpCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggNThhYmRlNS4uMTcxNGJkMyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApAQCAtMzEsNyArMzEsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBSZWdFeHBQcm90b3R5cGU7CiAgICAgc3RydWN0
IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZTsKIAotICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3Rv
clByaXZhdGUgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQ
cml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgog
ICAgICAgICAvLyBHbG9iYWwgc2VhcmNoIGNhY2hlIC8gc2V0dGluZ3MKICAgICAgICAgUmVnRXhw
Q29uc3RydWN0b3JQcml2YXRlKCkKICAgICAgICAgICAgIDogbGFzdE51bVN1YlBhdHRlcm5zKDAp
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAppbmRleCAxOWRlOTI5Li5lM2JhZDli
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTU5LDggKzU5LDEwIEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIG1hdGNoKEV4ZWNTdGF0ZSopOwogCiAgICAg
ICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsKLQotICAgICAgICBz
dHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHB1YmxpYzoKKyAg
ICAgICAgc3RydWN0IFJlZ0V4cE9iamVjdERhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERh
dGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAg
ICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAgICAgICAgICwgbGFzdElu
ZGV4KGxhc3RJbmRleCkKQEAgLTcwLDcgKzcyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICBSZWZQdHI8UmVnRXhwPiByZWdFeHA7CiAgICAgICAgICAgICBkb3VibGUgbGFzdEluZGV4
OwogICAgICAgICB9OwotCisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRyPFJlZ0V4cE9iamVj
dERhdGE+IGQ7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
Y29wZUNoYWluLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAw
YjE1YjY3Li42MzYyODJiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3Bl
Q2hhaW4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtMjEs
OCArMjEsNiBAQAogI2lmbmRlZiBTY29wZUNoYWluX2gKICNkZWZpbmUgU2NvcGVDaGFpbl9oCiAK
LSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xh
c3MgSlNHbG9iYWxEYXRhOwpAQCAtMzEsNyArMjksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJhdG9yOwogICAgIAotICAg
IGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSogbmV4dCwgSlNP
YmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAgIDogbmV4dChu
ZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3Mjcu
LjNlMjc4NTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNT
dHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAgc3RhdGljIGlu
bGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZyAm
JiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU21hbGxTdHJpbmdzU3RvcmFnZSgpOwogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRleCBkMWViZmIxMy4uYWM4NGZlOCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCkBAIC0zNyw3ICszNyw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTbWFsbFN0cmlu
Z3NTdG9yYWdlOwogCi0gICAgY2xhc3MgU21hbGxTdHJpbmdzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBTbWFsbFN0cmluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTbWFsbFN0cmluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFNtYWxsU3RyaW5ncygpOwogICAgICAgICB+U21hbGxTdHJpbmdzKCk7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2ZC4uMjYzNTUwMSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJvbFRhYmxl
RW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJbXBsPiA+
LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBjbGFzcyBT
aGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8
U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAg
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4yNjgz
ZDEzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xh
c3MgSlNDZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBl
bXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlw
ZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgLyoKICAgICBJbnZhcmlhbnRzOgogICAgICAgICAqIEEgdmFsdWUg
ZW50ZXJzIHRoZSBXZWFrR0NNYXAgbWFya2VkLiAoR3VhcmFudGVlZCBieSBzZXQoKS4pCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oIGIvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrR0NQdHIuaAppbmRleCBhYzc3Y2YzLi42N2YxMWMzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV2Vha0dDUHRyLmgKQEAgLTI4LDEyICsyOCwxMiBAQAogCiAjaW5jbHVkZSAiQ29s
bGVjdG9yLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9zZSBnZXQo
KSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dDUHRyKCkKICAgICAgICAgOiBtX3B0
cigwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRl
ZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCmluZGV4IDBj
MGU5OTcuLjhiNjU5NzcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVh
ZFJlZkNvdW50ZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3Vu
dGVkLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gd2l0aCByZXNw
ZWN0IHRvIHRoZSBvcmlnaW5hbCBhbmQgYW55IG90aGVyIGNvcGllcy4gIFRoZSB1bmRlcmx5aW5n
IG1fZGF0YSBpcyBqb2ludGx5CiAgICAgLy8gb3duZWQgYnkgdGhlIG9yaWdpbmFsIGluc3RhbmNl
IGFuZCBhbGwgY29waWVzLgogICAgIHRlbXBsYXRlPGNsYXNzIFQ+Ci0gICAgY2xhc3MgQ3Jvc3NU
aHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc1Ro
cmVhZFJlZkNvdW50ZWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVh
ZFJlZkNvdW50ZWQpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3Jv
c3NUaHJlYWRSZWZDb3VudGVkPFQ+ID4gY3JlYXRlKFQqIGRhdGEpCiAgICAgICAgIHsKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0RhdGVNYXRoLmgKaW5kZXggY2I4NDcwOC4uZTBkZWIxYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL0RhdGVNYXRoLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgK
QEAgLTQzLDEwICs0MywxMCBAQAogI2RlZmluZSBEYXRlTWF0aF9oCiAKICNpbmNsdWRlIDxtYXRo
Lmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8
dGltZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKQEAgLTExNiw3ICsxMTYsOSBAQCBkb3VibGUgcGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVk
Q2hhcmFjdGVycyhFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQogCiAvLyBJbnRl
bnRpb25hbGx5IG92ZXJyaWRkaW5nIHRoZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0uCiAvLyBU
aGUgbWVtYmVycyBvZiB0bSBkaWZmZXIgb24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVtcy4KLXN0
cnVjdCBHcmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBHcmVnb3JpYW5E
YXRlVGltZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JlZ29yaWFuRGF0ZVRpbWUpOwor
cHVibGljOgogICAgIEdyZWdvcmlhbkRhdGVUaW1lKCkKICAgICAgICAgOiBzZWNvbmQoMCkKICAg
ICAgICAgLCBtaW51dGUoMCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKaW5kZXggNzQ1ZTBiNi4uMWIxNmFmYyAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0RlcXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsK
ICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1
c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3Ig
bmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzog
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAg
IGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsK
IC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8g
RmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVz
YWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsK
Ky8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
Ky8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxj
aGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAK
IG5hbWVzcGFjZSBXVEYgewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1
YmxpYzogXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJu
IHA7IH0gXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAot
ICAgIHsgXAotICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAg
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0g
XAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0g
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVy
bmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBc
Ci0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAot
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6Oklu
dGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAot
ICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAg
ICB7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpX
VEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6
OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNl
IHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAv
IGZhc3REZWxldGUKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2
IEBAIGNsYXNzIEZhc3RBbGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcg
V1RGOjpGYXN0QWxsb2NCYXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVj
dG9yOwogCiAjZW5kaWYgLy8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCmluZGV4IDRlZDc1YzUuLmI5N2Q4YzggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCkBAIC0yMiwxNCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gK
IAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSAiSGFzaE1hcC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25z
ID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBU
cmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZh
bHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFZhbHVlLCB1bnNp
Z25lZCwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzPiBJbXBsVHlwZTsKICAgICBwdWJsaWM6CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hNYXAuaAppbmRleCAwOTA5NGQxLi43NzMxNTQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaE1hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKQEAg
LTI5LDcgKzI5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBL
ZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERl
ZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsCiAgICAgICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9
IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0
czxNYXBwZWRBcmc+ID4KLSAgICBjbGFzcyBIYXNoTWFwIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIEhhc2hNYXAgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAg
ICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNl
dC5oCmluZGV4IDY2NjM5ZTQuLmJlNmI5M2QgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApAQCAtMzUsNyAr
MzUsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SWRlbnRpdHlFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlw
ZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaCwKLSAg
ICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBI
YXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHNB
cmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hB
cmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCmluZGV4IGUxNGFjNDUuLmU5MTZlZjIgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVj
dCBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVB
cmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RI
YXNoU2V0Tm9kZUhhc2hGdW5jdGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFy
Zywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5h
bWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVs
dEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgTGlzdEhh
c2hTZXROb2RlPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZTsKICAgICAgICAgdHlwZWRl
ZiBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2Rl
QWxsb2NhdG9yOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCmluZGV4IDQxODEzZDMuLjdkZGMxNGQgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
TG9ja2VyLmgKQEAgLTI4LDExICsyOCwxMSBAQAogI2lmbmRlZiBMb2NrZXJfaAogI2RlZmluZSBM
b2NrZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvY2tlcik7CiBwdWJsaWM6CiAgICAgTG9ja2VyKFQmIGxvY2thYmxlKSA6
IG1fbG9ja2FibGUobG9ja2FibGUpIHsgbV9sb2NrYWJsZS5sb2NrKCk7IH0KICAgICB+TG9ja2Vy
KCkgeyBtX2xvY2thYmxlLnVubG9jaygpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvTUQ1LmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuY3BwCmluZGV4IGM5MjZhN2IuLjdj
M2Y5ODMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9NRDUuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAiU3RyaW5n
RXh0cmFzLmgiCiAjaW5jbHVkZSAidGV4dC9DU3RyaW5nLmgiCiAjZW5kaWYKKyNpbmNsdWRlIDxz
dHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL01ENS5oCmluZGV4IDNjYWE4MTAuLmEwZGU1MDAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9NRDUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1LmgKQEAgLTMxLDYgKzMx
LDcgQEAKICNpZm5kZWYgV1RGX01ENV9oCiAjZGVmaW5lIFdURl9NRDVfaAogCisjaW5jbHVkZSA8
c3RkaW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV1RGIHsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9NZXNzYWdlUXVldWUuaAppbmRleCAxNDEwMGM5Li5kN2Q1NzEyIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL01lc3NhZ2VRdWV1ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8bGltaXRzPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBu
YW1lc3BhY2UgV1RGIHsKQEAgLTQ4LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8g
d2hlbiBtZXNzYWdlcyBhcmUgZmV0Y2hlZCBmcm9tIHRoZSBxdWV1ZS4KICAgICAvLyBFc3NlbnRp
YWxseSwgTWVzc2FnZVF1ZXVlIGFjdHMgYXMgYSBxdWV1ZSBvZiBPd25QdHI8RGF0YVR5cGU+Lgog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgotICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVF1ZXVlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVF1ZXVlKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHsgfQogICAgICAgICB+TWVzc2FnZVF1
ZXVlKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyODVlZDJlLi4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0g
KiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2lmbmRlZiBXVEZfTm9uY29weWFibGVfaAotI2RlZmluZSBXVEZfTm9uY29weWFibGVfaAot
Ci0jaWZuZGVmIF9faGFzX2ZlYXR1cmUKLSAgICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAot
I2VuZGlmCi0KLSNpZiBfX2hhc19mZWF0dXJlKGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKLSAgICAj
ZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBfUHJhZ21h
KCJjbGFuZyBkaWFnbm9zdGljIHB1c2giKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCBcIi1XdW5rbm93bi1wcmFnbWFzXCIiKSBcCi0gICAgICAgIF9QcmFnbWEo
ImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAotICAg
ICAgICBwcml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikg
PSBkZWxldGU7IFwKLSAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNz
TmFtZSYpID0gZGVsZXRlOyBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9w
IikKLSNlbHNlCi0gICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwK
LSAgICAgICAgcHJpdmF0ZTogXAotICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFt
ZSYpOyBcCi0gICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUm
KQotI2VuZGlmCi0KLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cCB0
byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ugd2hlbiB5b3Ug
dXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2UuCi0KLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZSB7Ci0KLSAg
ICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAgICAgICAgTm9u
Y29weWFibGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFibGUmIG9wZXJh
dG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAgICAgTm9uY29w
eWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsKLQotfSAvLyBu
YW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6Ok5vbmNvcHlh
YmxlOwotCi0jZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRy
LmgKaW5kZXggNjQzYjkwYi4uY2Q2NGVkYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKQEAg
LTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093bkFycmF5UHRyX2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIu
aCIKICNpbmNsdWRlICJPd25BcnJheVB0ckNvbW1vbi5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4K
QEAgLTM1LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBQYXNzT3duQXJyYXlQdHI7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQ
dHI8VD4gYWRvcHRBcnJheVB0cihUKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBP
d25BcnJheVB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgT3duQXJyYXlQdHIgewogcHVibGljOgogICAgIHR5cGVkZWYgVCogUHRyVHlwZTsKIApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCkBAIC0yMywxMSArMjMsMTEgQEAK
ICNkZWZpbmUgT3duRmFzdE1hbGxvY1B0cl9oCiAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCi0j
aW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICB0ZW1wbGF0
ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoT3duRmFzdE1hbGxvY1B0cik7CiAgICAgcHVibGljOgogICAg
ICAgICBleHBsaWNpdCBPd25GYXN0TWFsbG9jUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25QdHIuaAppbmRleCBjZGMyNzdjLi5mYjU5NDMyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0
ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAi
QXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0
ci5oIgogI2luY2x1ZGUgIk93blB0ckNvbW1vbi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIK
QEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUGFzc093blB0cjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRy
PFQ+IGFkb3B0UHRyKFQqKTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3Mg
T3duUHRyIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9p
bnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJU
eXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAxMmMzZTNkLi5kZGM4YTBmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaApAQCAtMiw2ICsyLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMTExOCw0ICsxMTE5LDYxIEBACiAjaW5jbHVkZSAiR1R5cGVkZWZzLmgi
CiAjZW5kaWYKIAorLyogTm9uY29weWFibGUncyBpbXBsZW1lbnRhdGlvbiBhcyBhIG1hY3JvICov
CisKKyNpZm5kZWYgX19oYXNfZmVhdHVyZQorICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAw
CisjZW5kaWYKKworI2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQorICAg
ICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIF9QcmFn
bWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKKyAgICAgICAgX1ByYWdt
YSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCisg
ICAgICAgIHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUm
KSA9IGRlbGV0ZTsgXAorICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xh
c3NOYW1lJikgPSBkZWxldGU7IFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBw
b3AiKQorI2Vsc2UKKyAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkg
XAorICAgICAgICBwcml2YXRlOiBcCisgICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NO
YW1lJik7IFwKKyAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFt
ZSYpCisjZW5kaWYKKworLyogUHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBvcGVy
YXRvciBuZXcvZGVsZXRlICovCisKKyNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAor
cHVibGljOiBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJl
dHVybiBwOyB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBc
CisgICAgeyBcCisgICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAor
ICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJ
bnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAg
fSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIFwKKyAgICB7IFwK
KyAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7
IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUp
IFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBc
CisgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6
SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgIHJldHVybiBwOyBc
CisgICAgfSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAor
ICAgIHsgXAorICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6
OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgICA6OldU
Rjo6ZmFzdEZyZWUocCk7IFwKKyAgICB9IFwKK3ByaXZhdGU6IFwKK3R5cGVkZWYgaW50IFRoaXNJ
c0hlcmVUb0ZvcmNlQVNlbWljb2xvbkFmdGVyVGhpc01hY3JvCisKICNlbmRpZiAvKiBXVEZfUGxh
dGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKaW5kZXggOGQ4YjMwMi4uZTA2MjI5NCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCkBAIC0yMiw3ICsyMiw3IEBACiAjZGVmaW5lIFJlZkNv
dW50ZWRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxl
LmgiCisjaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAt
MTMxLDcgKzEzMSw4IEBAIGlubGluZSB2b2lkIGFkb3B0ZWQoUmVmQ291bnRlZEJhc2UqIG9iamVj
dCkKIAogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBw
dWJsaWMgUmVmQ291bnRlZEJhc2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGljIFJlZkNvdW50ZWRCYXNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZWZDb3VudGVkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigpCiAgICAgewpAQCAtMTQwLDYgKzE0MSw3IEBAIHB1
YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICBSZWZDb3VudGVkKCkgeyB9CiAgICAgflJl
ZkNvdW50ZWQoKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
UmVmUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKaW5kZXggNmFmYTg4Ni4uZGZj
NjA1MiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMjMsOSArMjMsOCBAQAogI2lmbmRlZiBXVEZfUmVm
UHRyX2gKICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5j
bHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKKyNpbmNsdWRl
IDxhbGdvcml0aG0+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0zNiw3ICszNSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlIHsgSGFzaFRh
YmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQ
dHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xh
c3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cigpIDogbV9wdHIoMCkgeyB9CiAgICAgICAg
IEFMV0FZU19JTkxJTkUgUmVmUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpIHsgcmVmSWZOb3ROdWxs
KHB0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCmluZGV4IDdmNmViZmUuLjNjMDc2
Y2UgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaApAQCAtNDIsNyArNDIsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFpdHNBcmcsIHR5cGVu
YW1lIE1hcHBlZFRyYWl0c0FyZz4KLSAgICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVk
QXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFz
aEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNB
cmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFp
dHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQ
dGhyZWFkcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVh
ZHMuaAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lm
bmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUgVGhyZWFkSWRlbnRp
ZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAvLyBIb2xkcyBUaHJl
YWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBhbmQgZW1wbG95cyBw
dGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFibHkgcmVtb3ZlCiAv
LyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVzIHJlZ3VsYXIgVGhy
ZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rpb24uCi1j
bGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBU
aHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkSWRl
bnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVyRGF0YSgpOwogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAppbmRleCAzM2M2NjEyLi5hNmExY2YyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKQEAgLTYyLDEyICs2MiwxMiBAQAog
I2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVz
Lmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU2FmZVNoYXJlZEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5pdGlhbFJl
ZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uMTEzN2JkMiAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYgQEAKICNpZm5kZWYgV1RGX1Ro
cmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNpZmljX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURTKQogI2luY2x1ZGUgPHB0aHJl
YWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIFRocmVhZFNwZWNp
ZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRo
cmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRT
cGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMoKTsKICAgICBUKiBvcGVyYXRv
ci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGF0aWMgZGVzdHJv
eSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQTEFURk9STShRVCkgfHwgUExB
VEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBEYXRhIDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YSk7
CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBUaHJlYWRTcGVjaWZpYzxUPiog
b3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30KICNpZiBQTEFURk9STShRVCkK
ICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMpOyB9CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwIGIvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBm
aWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRv
d3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFk
aW5nLmNwcAppbmRleCA0OWRlNTllLi5mMmUwNTY1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNw
cApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RydWN0IE5ld1RocmVh
ZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdUaHJlYWRDb250ZXh0IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBOZXdUaHJlYWRDb250ZXh0
KFRocmVhZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZvaWQqIGRhdGEsIGNvbnN0IGNoYXIqIG5hbWUp
CiAgICAgICAgIDogZW50cnlQb2ludChlbnRyeVBvaW50KQogICAgICAgICAsIGRhdGEoZGF0YSkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRpbmcuaAppbmRleCAwNDQzNjVmLi5kYWVhMThlIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZGluZy5oCkBAIC02Niw3ICs2Niw2IEBACiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KICNp
bmNsdWRlIDx3dGYvTG9ja2VyLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVNoYXJlZC5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmggYi9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjA2M2RlYzIgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaApAQCAtMzUsNyArMzUsNiBAQAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgPHdp
bmRvd3MuaD4KQEAgLTk2LDcgKzk1LDggQEAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJlYWRXcml0
ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQ29uZGl0aW9uOwogI2VuZGlmCiAgICAgCi1j
bGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNdXRleCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpAQCAtMTEzLDcgKzExMyw4IEBAIHByaXZh
dGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRleExvY2tlcjsKIAotY2xhc3MgUmVhZFdy
aXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKIHB1YmxpYzoKICAgICBSZWFk
V3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzEsOCBAQCBw
cml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7CiB9Owog
Ci1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhy
ZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRDb25kaXRpb24p
OwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5UaHJlYWRDb25kaXRpb24o
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaAppbmRleCBmNzM3OTNmLi5iMzFjNjYyIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5o
CkBAIC0yMSwxNCArMjEsMTQgQEAKICNpZm5kZWYgV1RGX1ZlY3Rvcl9oCiAjZGVmaW5lIFdURl9W
ZWN0b3JfaAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotI2luY2x1ZGUgIk5vbmNvcHlh
YmxlLmgiCisjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgogI2luY2x1ZGUgIk5vdEZvdW5kLmgiCiAj
aW5jbHVkZSAiU3RkTGliRXh0cmFzLmgiCiAjaW5jbHVkZSAiVmFsdWVDaGVjay5oIgogI2luY2x1
ZGUgIlZlY3RvclRyYWl0cy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1dGlsaXR5
PgorI2luY2x1ZGUgPHN0cmluZy5oPgogCiAjaWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSA8UURh
dGFTdHJlYW0+CkBAIC0yNzcsNyArMjc3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsK
QEAgLTQ4OCw3ICs0ODksOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0
b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBW
ZWN0b3JCdWZmZXI8VCwgaW5saW5lQ2FwYWNpdHk+IEJ1ZmZlcjsKICAgICAgICAgdHlwZWRlZiBW
ZWN0b3JUeXBlT3BlcmF0aW9uczxUPiBUeXBlT3BlcmF0aW9uczsKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhy
ZWFkRGF0YS5oCmluZGV4IDUwMTljMzMuLmQ5MjAxMGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVh
ZERhdGEuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogLy8gVGhpcyB3YXMgRU5BQkxFKFdPUktF
UlMpIGluIFdlYkNvcmUsIGJ1dCB0aGlzIGlzIG5vdCBkZWZpbmVkIHdoZW4gY29tcGlsaW5nIEpT
Qy4KQEAgLTUxLDcgKzUwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIHR5cGVkZWYgSGFzaE1hcDxj
b25zdCBjaGFyKiwgUmVmUHRyPFN0cmluZ0ltcGw+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPiA+IExp
dGVyYWxJZGVudGlmaWVyVGFibGU7CiAKLWNsYXNzIElkZW50aWZpZXJUYWJsZSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJUYWJsZSB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgfklkZW50aWZpZXJUYWJsZSgpOwogCkBAIC04NCw3
ICs4NCw4IEBAIGNsYXNzIEF0b21pY1N0cmluZ1RhYmxlOwogCiB0eXBlZGVmIHZvaWQgKCpBdG9t
aWNTdHJpbmdUYWJsZURlc3RydWN0b3IpKEF0b21pY1N0cmluZ1RhYmxlKik7CiAKLWNsYXNzIFdU
RlRocmVhZERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV1RGVGhyZWFkRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV1RGVGhyZWFkRGF0YSk7CiBwdWJsaWM6CiAgICAg
V1RGVGhyZWFkRGF0YSgpOwogICAgIH5XVEZUaHJlYWREYXRhKCk7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvZHRvYS5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKaW5k
ZXggYzg5YzAzNi4uYjViMTI2MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2Eu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcApAQCAtNDE0LDcgKzQxNCwxMCBA
QCBzdGF0aWMgdm9pZCBtdWx0KEJpZ0ludCYgYVJlZiwgY29uc3QgQmlnSW50JiBiUmVmKQogICAg
IGFSZWYgPSBjOwogfQogCi1zdHJ1Y3QgUDVOb2RlIDogTm9uY29weWFibGUgeworc3RydWN0IFA1
Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUDVOb2RlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAg
ICBQNU5vZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmpl
Y3QvR093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4
IGNlYzNlNDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0
L0dPd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAg
LTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZv
aWQgZ19mcmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJl
ZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lk
IGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQ
dHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3du
UHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0
cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQv
U3RyaW5nQnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJf
aAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRz
PgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U3RyaW5nQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWdu
ZWQgbGVuZ3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYv
dGV4dC9TdHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLjI2YmMxZDkgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZu
ZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Ym9vbCBpc1N0cmluZ0ltcGwoKSB7IHJldHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZD
b3VudEludmFsaWRGb3JTdHJpbmdJbXBsKSAhPSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0lt
cGw7IH0KICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpA
QCAtNDUsOSArNDUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9
OwogCi0gICAgdXNpbmcgTm9uY29weWFibGU6Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVy
YXRvciBuZXcoc2l6ZV90LCB2b2lkKiBpblBsYWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJu
IGluUGxhY2U7IH0KLQogICAgIC8vIEZvciBTbWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9j
YXRlcyBhbiBhcnJheSBhbmQgdXNlcyBhbiBpbi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJh
c2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0
b3IuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKaW5kZXggZmU2YTgw
OS4uYThiY2UxMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0
b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCkBAIC0yOSw3
ICsyOSw2IEBACiAjaWZuZGVmIFdURl9Db2xsYXRvcl9oCiAjZGVmaW5lIFdURl9Db2xsYXRvcl9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtMzksNyArMzgsOCBA
QCBzdHJ1Y3QgVUNvbGxhdG9yOwogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIGNsYXNzIENvbGxh
dG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb2xsYXRvciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENvbGxhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9
IDEsIExlc3MgPSAtMSB9OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4
SW50ZXJwcmV0ZXIuaCBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCmlu
ZGV4IDBmZDhhNTcuLmQ0MDQ1MTAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVn
ZXhJbnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRl
ci5oCkBAIC0zMTUsNyArMzE1LDggQEAgc3RydWN0IEJ5dGVUZXJtIHsKICAgICB9CiB9OwogCi1j
bGFzcyBCeXRlRGlzanVuY3Rpb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBCeXRl
RGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IEJ5dGVEaXNqdW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVT
aXplKQogICAgICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMjgs
NyArMzI5LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3Ry
dWN0IEJ5dGVjb2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0
dGVybiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQnl0ZWNv
ZGVQYXR0ZXJuKFBhc3NPd25QdHI8Qnl0ZURpc2p1bmN0aW9uPiBib2R5LCBWZWN0b3I8Qnl0ZURp
c2p1bmN0aW9uKj4gYWxsUGFyZW50aGVzZXNJbmZvLCBSZWdleFBhdHRlcm4mIHBhdHRlcm4sIEJ1
bXBQb2ludGVyQWxsb2NhdG9yKiBhbGxvY2F0b3IpCiAgICAgICAgIDogbV9ib2R5KGJvZHkpCiAg
ICAgICAgICwgbV9pZ25vcmVDYXNlKHBhdHRlcm4ubV9pZ25vcmVDYXNlKQpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaCBiL0phdmFTY3JpcHRDb3JlL3lhcnIv
UmVnZXhQYXR0ZXJuLmgKaW5kZXggNDQ1NjBhNC4uZmVlNzE5NiAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1Jl
Z2V4UGF0dGVybi5oCkBAIC03MCw3ICs3MCw5IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3Ry
dWN0IENoYXJhY3RlckNsYXNzIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xh
c3MgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBD
aGFyYWN0ZXJDbGFzcyBpbnN0YW5jZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRj
aGVzIGFuZCByYW5nZXMsCiAgICAgLy8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBm
b3IgZmFzdGVyIGxvb2t1cHMgKHdoaWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVk
IG1hdGNoZXMgYW5kIHJhbmdlcykKQEAgLTIxMSw3ICsyMTMsOSBAQCBzdHJ1Y3QgUGF0dGVyblRl
cm0gewogICAgIH0KIH07CiAKLXN0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NC
YXNlIHsKK3N0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rp
b24qIGRpc2p1bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAg
ICAsIG1fb25jZVRocm91Z2goZmFsc2UpCkBAIC0yNTIsNyArMjU2LDkgQEAgc3RydWN0IFBhdHRl
cm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6
IDE7CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7Citz
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
K3B1YmxpYzoKICAgICBQYXR0ZXJuRGlzanVuY3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJl
bnQgPSAwKQogICAgICAgICA6IG1fcGFyZW50KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVk
U2l6ZShmYWxzZSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZyBiL0phdmFT
Y3JpcHRHbHVlL0NoYW5nZUxvZwppbmRleCA5NjkzOTUyLi4wYzVhZmE4IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMTItMDYgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
R2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAg
ICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMg
Z2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBh
bmQgCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25j
b3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTEyLTAxICBHZW9mZnJleSBHYXJlbiAgPGdnYXJl
bkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4OiBBZGRlZCBhIGZvcndhcmRpbmcgaGVh
ZGVyLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05v
bmNvcHlhYmxlLmggYi9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAot
LS0gYS9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAor
KysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25j
b3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA2MDg4ZDliLi42NTljN2VjIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTEyLTA2ICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFu
ZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxv
Y0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAj
NDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5o
ZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxl
LmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAq
IEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTEy
LTA1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLiBSdW4gc29ydC1YY29kZS1wcm9qZWN0LWZpbGUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Zv
cndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvV2ViQ29yZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzUx
MjY3Ny4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0jaWZuZGVmIFdlYkNvcmVfRldE
X05vbmNvcHlhYmxlX2gKLSNkZWZpbmUgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDNhMDRiYWMuLjFhMDdiN2EgMTAwNzU1Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNjQwMDEsMTAgKzY0MDAxLDYgQEAKIAkJCQkJPgog
CQkJCTwvRmlsZT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXEZvcndhcmRpbmdI
ZWFkZXJzXHd0ZlxOb25jb3B5YWJsZS5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxl
CiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRy
LmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aAppbmRleCAyZWU1NmVlLi4wYzNmMDg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmgKQEAgLTU3LDcgKzU3LDggQEAgc3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQ
b3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xh
c3MgQVhPYmplY3RDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQVhPYmplY3RDYWNoZSgpOwogICAgIH5BWE9i
amVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlw
dFNvdXJjZVByb3ZpZGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJj
ZVByb3ZpZGVyLmgKaW5kZXggODA5YTQ4OC4uYjY5NzZhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCisrKyBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlk
ZXIgOiBwdWJsaWMgU2NyaXB0U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0
ZShDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hl
ZFNjcmlwdFNvdXJjZVByb3ZpZGVyKGNhY2hlZFNjcmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dD
Q29udHJvbGxlci5oCmluZGV4IDRjMjU0MDcuLjkxZjFlNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIEdDQ29udHJvbGxlcl9oCiAj
ZGVmaW5lIEdDQ29udHJvbGxlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlICJUaW1lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBHQ0Nv
bnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdDQ29udHJvbGxlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdDQ29udHJvbGxlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgICAgICBmcmllbmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIo
KTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTlj
ZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9va3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFr
R0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJl
aW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyByZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAg
LSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdpY2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdXcmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3Mg
V1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVnV3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3Rh
dGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFyZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
TWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBA
CiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNN
YWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJl
YWRFeGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVu
dFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVs
ZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXgg
NmM5ZDBiYS4uNTlhZDZmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVs
ZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBA
IC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWws
IGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHkuIFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkK
ICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1
bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rp
b24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3du
UHRyPFNjaGVkdWxlZEFjdGlvbj4gY3JlYXRlKEpTQzo6RXhlY1N0YXRlKiwgRE9NV3JhcHBlcldv
cmxkKiBpc29sYXRlZFdvcmxkKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uNWY2OTFkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBET01XaW5kb3c7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxk
OwogCi0gICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDwgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpT
Qzo6UHJvdGVjdGVkUHRyPEpTRE9NV2luZG93PiA+IEpTRE9NV2luZG93U2V0OwogCiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5o
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDMxNzJjNjUu
LjMwMDBhYmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2
ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2
LDcgKzU2LDggQEAgY2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsK
IGNsYXNzIEphdmFTY3JpcHRDYWxsRnJhbWU7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDog
SlNDOjpEZWJ1Z2dlciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2Vy
dmVyIDogSlNDOjpEZWJ1Z2dlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVi
dWdTZXJ2ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
U2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2Zp
bGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNj
cmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5
MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZp
bmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRl
OwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRp
b24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlw
dFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0
IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVK
U0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5o
CmluZGV4IDVkMDMzMjguLjZlMmQ3YmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpT
Q2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTggQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJX
b3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhhc2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVu
dERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9i
YWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlND
bGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIEpT
R2xvYmFsRGF0YVdvcmxkSXRlcmF0b3I7CiAgICAgZnJpZW5kIHZvaWQgaW5pdE5vcm1hbFdvcmxk
Q2xpZW50RGF0YShKU0M6OkpTR2xvYmFsRGF0YSopOwogCiBwdWJsaWM6CisgICAgV2ViQ29yZUpT
Q2xpZW50RGF0YSgpIHsgfQogICAgIHZpcnR1YWwgfldlYkNvcmVKU0NsaWVudERhdGEoKQogICAg
IHsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuY29udGFpbnMobV9ub3JtYWxXb3JsZC5nZXQo
KSkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9s
bGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaAppbmRl
eCBiZTdkYTRkLi40NTc4OTEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtl
clNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlw
dENvbnRyb2xsZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90
ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAt
NDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0VmFsdWU7
CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAotICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRy
b2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRy
b2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJTY3JpcHRDb250cm9s
bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBXb3Jr
ZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgfldvcmtlclNjcmlw
dENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKaW5kZXggYzhiNGE0MS4uMDlkNTM0NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9ET01EYXRhLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIC8vIHRocmVhZC4gIFRoZSBET01EYXRhIGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRo
ZSBET01EYXRhIGZvciBjaGlsZCB0aHJlYWRzCiAgICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFz
c2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgRE9NRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEp
OwogICAgIHB1YmxpYzoKICAgICAgICAgRE9NRGF0YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01E
YXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAppbmRleCAzNzU4ZTIzLi44YzZjMDJj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNs
dWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KQEAgLTE0OSw3ICsxNDgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8g
VGhpcyBjbGFzcyBkb2Vzbid0IG1hbmFnZSB0aGUgbGlmZXRpbWUgb2YgdGhlIHN0b3JlLiAgVGhl
IGRhdGEgc3RvcmUKICAgICAvLyBsaWZldGltZSBpcyBtYW5hZ2VkIGJ5IHN1YmNsYXNzZXMuCiAg
ICAgLy8KLSAgICBjbGFzcyBET01EYXRhU3RvcmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIERPTURhdGFTdG9yZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURh
dGFTdG9yZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIERPTVdyYXBwZXJNYXBUeXBlIHsK
ICAgICAgICAgICAgIERPTU5vZGVNYXAsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNo
ZWRGcmFtZURhdGEuaAppbmRleCAxYWExZjYyLi5mNDJlODExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTYwLDE0ICs2MCwxNCBAQCBwdWJsaWM6
CiAKICNpbmNsdWRlICJPd25IYW5kbGUuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwog
Y2xhc3MgRE9NV2luZG93OwogCi1jbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hlZEZyYW1lRGF0YSApOwogcHVibGljOgogICAgIFNj
cmlwdENhY2hlZEZyYW1lRGF0YShGcmFtZSopOwogICAgIH5TY3JpcHRDYWNoZWRGcmFtZURhdGEo
KSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIu
aCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAppbmRleCA1YzVkNmM2
Li40NDFhYjNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2Vy
dmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0z
OSw3ICszOSw2IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNo
Lmg+CiAKQEAgLTQ4LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1NlcnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oCmluZGV4IGI3NWEwNTQuLmUwOTY5ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFBy
b2ZpbGVyLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIK
ICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRT
dGF0ZS5oCmluZGV4IDExODEzYjAuLmRjMjQ3MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2lu
Y2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBj
bGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGUpOwogcHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0
aW9uKCkgeyByZXR1cm4gIW1fZXhjZXB0aW9uLklzRW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhj
ZXB0aW9uKHY4OjpMb2NhbDx2ODo6VmFsdWU+IGV4Y2VwdGlvbikKQEAgLTc5LDcgKzc5LDggQEAg
cHVibGljOgogICAgIH5FbXB0eVNjcmlwdFN0YXRlKCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90
ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3Nj
cmlwdFN0YXRlKDApIHsgfQogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRl
KiBzY3JpcHRTdGF0ZSkgOiBtX3NjcmlwdFN0YXRlKHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmluZGV4IDM2ZmMxZjYuLjJjMjg3
ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAK
QEAgLTEyOCw3ICsxMjgsOCBAQCBwcml2YXRlOgogCiAvLyBXcml0ZXIgaXMgcmVzcG9uc2libGUg
Zm9yIHNlcmlhbGl6aW5nIHByaW1pdGl2ZSB0eXBlcyBhbmQgc3RvcmluZwogLy8gaW5mb3JtYXRp
b24gdXNlZCB0byByZWNvbnN0cnVjdCBjb21wb3NpdGUgdHlwZXMuCi1jbGFzcyBXcml0ZXIgOiBO
b25jb3B5YWJsZSB7CitjbGFzcyBXcml0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdy
aXRlcik7CiBwdWJsaWM6CiAgICAgV3JpdGVyKCkKICAgICAgICAgOiBtX3Bvc2l0aW9uKDApCkBA
IC0zNzcsNyArMzc4LDggQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBjbGFzcyBT
dGF0ZUJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFN0YXRlQmFzZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0YXRlQmFzZSk7CiAgICAgcHVibGljOgogICAg
ICAgICB2aXJ0dWFsIH5TdGF0ZUJhc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlk
Z2UvQnJpZGdlLmggYi9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaAppbmRleCA1MGVmYzY0Li4wMGQ2
ZjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaAorKysgYi9XZWJDb3JlL2Jy
aWRnZS9CcmlkZ2UuaApAQCAtMjgsMTQgKzI4LDE1IEBACiAjZGVmaW5lIEJyaWRnZV9oCiAKICNp
bmNsdWRlICJCcmlkZ2VKU0MuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIEpTQyAgewogCiBuYW1lc3BhY2UgQmluZGluZ3MgewogCi1jbGFzcyBNZXRob2QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWV0aG9kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShNZXRob2QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZXRo
b2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAg
ICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKaW5kZXggOTliYWUw
Yi4uNWUxNTdjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCisr
KyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAj
ZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNp
bmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMu
aD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xh
c3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZp
ZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBJZGVudGlmaWVyUmVwKiBnZXQoaW50KTsKICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0
KGNvbnN0IGNoYXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0Mu
aCBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAppbmRleCA5Njk3NGQ5Li5lYmNmYWFk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKKysrIGIvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01OSw4ICs1OSwxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNzIENsYXNzIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzcyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIENsYXNzKCkgeyB9CiAgICAgdmly
dHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2Uq
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVsZCogZmllbGROYW1lZChjb25zdCBJZGVudGlm
aWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBKU1ZhbHVlIGZhbGxiYWNr
T2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsxMjcsOCBAQCBwcml2YXRlOgogICAgIFdlYWtH
Q1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVPYmplY3Q7CiB9OwogCi1jbGFzcyBBcnJheSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcnJheSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFycmF5KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4p
OwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX3Jvb3QuaCBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCmluZGV4IGJhYmQ3YWQu
LjM5ZmIzNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCisrKyBi
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKaW5kZXggODMzZDdmZS4uMTc0ZjFl
ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCisrKyBiL1dlYkNvcmUv
Y3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzIsNiArMzIsNyBAQCBjbGFzcyBTdHlsZUNhY2hlZElt
YWdlOwogY2xhc3MgU3R5bGVJbWFnZTsKIAogY2xhc3MgQ1NTSW1hZ2VWYWx1ZSA6IHB1YmxpYyBD
U1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NT
SW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUp
OyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0
cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oIGIvV2ViQ29yZS9jc3MvQ1NT
SW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLmFkNGU5N2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAg
LTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVTaGVldDsKIGNsYXNzIE1lZGlhTGlz
dDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBDU1NSdWxlLCBwcml2YXRlIENhY2hl
ZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbXBvcnRSdWxlPiBjcmVhdGUoQ1NTU3R5bGVTaGVl
dCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGhyZWYsIFBhc3NSZWZQdHI8TWVkaWFMaXN0PiBtZWRp
YSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1dlYkNv
cmUvY3NzL0NTU05hbWVzcGFjZS5oCmluZGV4IDYyMjVjMzYuLjkyNjM4ZjIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFj
ZS5oCkBAIC0yNiw3ICsyNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVj
dCBDU1NOYW1lc3BhY2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsK
ICAgICAgICAgQXRvbWljU3RyaW5nIHVyaTsKICAgICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4g
cGFyZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaAppbmRleCBlYjhiYjJkLi5hZWY4OWUzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMzMxLDcg
KzMzMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBpbnQgY3NzUHJvcGVydHlJRChjb25z
dCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3Ry
aW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2VyKiBw
YXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQogICAgICAgICB7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjk5NmU3ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBA
IC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlz
dCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUGFyc2VyVmFsdWVM
aXN0KCkKICAgICAgICAgOiBtX2N1cnJlbnQoMCkKQEAgLTgzLDcgKzg0LDkgQEAgcHJpdmF0ZToK
ICAgICBWZWN0b3I8Q1NTUGFyc2VyVmFsdWUsIDQ+IG1fdmFsdWVzOwogfTsKIAotc3RydWN0IENT
U1BhcnNlckZ1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rp
b24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIENTU1BhcnNl
clN0cmluZyBuYW1lOwogICAgIE93blB0cjxDU1NQYXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7CiB9Owpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaCBiL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5LmgKaW5kZXggMTA2MTcxZC4uMTBlNTkzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHkuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCkBAIC0yOSw3ICsy
OSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTUHJvcGVydHkgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0eSB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50IHByb3BJRCwgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFsc2UsIGludCBzaG9ydGhh
bmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAgOiBtX2lkKHByb3BJRCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBA
IC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxl
Y3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7IH0KICAgICB+Q1NTU2Vs
ZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHkoKSk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApp
bmRleCAwMGUyM2I5Li5kZGMwYWEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAog
I2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50
cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3ICszMiw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsKIAogICAgIC8vIHRoaXMg
Y2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVsZQotICAgIGNsYXNzIENT
U1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTZWxlY3RvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NTZWxlY3RvcigpCiAgICAgICAg
ICAgICA6IG1fcmVsYXRpb24oRGVzY2VuZGFudCkKQEAgLTMwMiw3ICszMDIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHVuc2lnbmVkIHNwZWNpZmljaXR5Rm9yUGFnZSgpIGNvbnN0
OwogICAgICAgICB2b2lkIGV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3Q7CiAKLSAgICAgICAgc3Ry
dWN0IFJhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmFyZURhdGEoUGFzc093
blB0cjxDU1NTZWxlY3Rvcj4gdGFnSGlzdG9yeSkKICAgICAgICAgICAgICAgICA6IG1fYSgwKQog
ICAgICAgICAgICAgICAgICwgbV9iKDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvckxpc3QuaCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCmluZGV4IDllNDBlZjgu
LjcxY2VhNmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCisrKyBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNkZWZp
bmUgQ1NTU2VsZWN0b3JMaXN0X2gKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLWNsYXNz
IENTU1NlbGVjdG9yTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NTZWxlY3Rv
ckxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yTGlzdCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENTU1NlbGVjdG9yTGlzdCgpIDogbV9z
ZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAKaW5kZXggNzJiNGE5Ny4uOThmMDQzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7IFwKICAgICByZXR1
cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NSdWxlU2V0KTsKIHB1
YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuaAppbmRleCBiNzE4NzUxLi4zZTJlYjc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCkBA
IC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBXZWJLaXRDU1NLZXlm
cmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1jbGFzcyBNZWRpYVF1
ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlSZXN1bHQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5UmVzdWx0KGNvbnN0IE1lZGlh
UXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQogICAgICAgICA6IG1fZXhwcmVzc2lvbihleHBy
KQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9OwogCiAgICAgLy8gVGhpcyBjbGFzcyBzZWxl
Y3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4gZWxlbWVudCBiYXNlZCBvbiBhIGNvbGxlY3Rp
b24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQqLCBTdHls
ZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hl
ZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVTaGVldCogcGFnZVVzZXJTaGVl
dCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBwYWdlR3JvdXBVc2VyU2hl
ZXRzLApAQCAtMjA5LDcgKzIxMSw4IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUoKSB7IHJldHVybiBzX3N0eWxl
Tm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2VsZWN0b3JDaGVja2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0b3JDaGVja2VyIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hlY2tlcik7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1bWVudCosIGJvb2wgc3RyaWN0
UGFyc2luZyk7CiAKQEAgLTMxNSw3ICszMTgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFZlY3RvcjxN
ZWRpYVF1ZXJ5UmVzdWx0Kj4gbV92aWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwog
ICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQ1NTUnVsZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
Q1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1NlbGVjdG9yKiBz
ZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3NpdGlvbihwb3Mp
CkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YSogbV9uZXh0
OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGFMaXN0KHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxl
KiBydWxlLCBDU1NTZWxlY3Rvciogc2VsKQogICAgICAgICAgICAgOiBtX2ZpcnN0KG5ldyBDU1NS
dWxlRGF0YShwb3MsIHJ1bGUsIHNlbCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5LmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKaW5kZXggMjgxMDA5Yi4uYTYzOGFjOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCisrKyBiL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnkuaApAQCAtMzcsNyArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
TWVkaWFRdWVyeUV4cDsKIAotY2xhc3MgTWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9y
IHsKICAgICAgICAgT25seSwgTm90LCBOb25lCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXZhbHVhdG9yLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5k
ZXggMDBhYzM5NC4uMDdjNGQwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDks
NyArNDksOCBAQCBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogICogdGhlIGRldmljZSBjaGFyYWN0ZXJp
c3RpY3MgYXJlIG5vdCBrbm93bi4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGlu
ZwogICogb2Ygc3R5bGVzaGVldHMgdG8gb25seSB0aG9zZSB3aGljaCBhcmUgcHJvYmFibGUgdG8g
bWF0Y2guCiAgKi8KLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciB7CisgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE1lZGlhUXVlcnlFdmFsdWF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxl
IG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3IgImFsbCIs
IGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaApp
bmRleCA3MmQzZmZmLi43ZTRkNDc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNz
IE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5
RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxNZWRpYVF1ZXJ5RXhwPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBtZWRp
YUZlYXR1cmUsIENTU1BhcnNlclZhbHVlTGlzdCogdmFsdWVzKTsKICAgICB+TWVkaWFRdWVyeUV4
cCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwIGIvV2Vi
Q29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCmluZGV4IDdmNWYxYjYuLjRhOGQyNWEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcAorKysgYi9XZWJDb3Jl
L2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBBc3luY1Nj
cmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdFNvb24oU2NyaXB0RWxlbWVudCogZGF0YSwgQ2FjaGVk
UmVzb3VyY2VIYW4KICAgICBBU1NFUlQoZWxlbWVudC0+aW5Eb2N1bWVudCgpKTsKIAogICAgIG1f
ZG9jdW1lbnQtPmluY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKTsKLSAgICBtX3NjcmlwdHNU
b0V4ZWN1dGVTb29uLmFwcGVuZChtYWtlX3BhaXIoZGF0YSwgY2FjaGVkU2NyaXB0KSk7CisgICAg
bV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZGF0YSwgY2FjaGVk
U2NyaXB0KSk7CiAgICAgZWxlbWVudC0+cmVmKCk7IC8vIEJhbGFuY2VkIGJ5IGRlcmVmKClzIGlu
IHRpbWVyRmlyZWQoKSBhbmQgZHRvci4KICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9B
c3luY1NjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaAppbmRl
eCAxYTA1MWE4Li4zZjcxZGYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1
bm5lci5oCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKQEAgLTI4LDcgKzI4
LDYgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzgsNyArMzcsOCBAQCBjbGFz
cyBDYWNoZWRTY3JpcHQ7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiAg
ICAgCi1jbGFzcyBBc3luY1NjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBc3luY1NjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNTY3Jp
cHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxBc3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkg
eyByZXR1cm4gbmV3IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1Nj
cmlwdFJ1bm5lcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmggYi9X
ZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAppbmRleCA4NmEyMmIwLi43NTE0YWI2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9XZWJDb3JlL2RvbS9ET01TdHJp
bmdNYXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBET01TdHJpbmdNYXBfaAogCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDcgKzM0
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4
Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBET01TdHJpbmdNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmlu
Z01hcCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgfkRP
TVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYzA4OGU0ZS4uOWY4Mjg0MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtNDY1OCw3ICs0NjU4LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAgICAg
d2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2Fn
ZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4
dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQYXNzUmVmUHRyPERvY3VtZW50
V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1bWVudFJlZmVyZW5jZShkb2N1
bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oCmluZGV4IDk2ZmI3ZjMuLmUxMmYyM2YgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oCkBAIC0zOCw4ICszOCwxMCBAQCBjbGFzcyBJbnRSZWN0Owog
Y2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogCi1jbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBEb2N1bWVudE1hcmtlckNvbnRy
b2xsZXIoKSB7IH0KICAgICB+RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyBkZXRhY2goKTsg
fQogCiAgICAgdm9pZCBkZXRhY2goKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50Lmgg
Yi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGYwNWQzNmMuLmNkNDlkZTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMjQsNiAr
MjQsNyBAQAogI2lmbmRlZiBFdmVudF9oCiAjZGVmaW5lIEV2ZW50X2gKIAorI2luY2x1ZGUgIkNs
aXBib2FyZC5oIgogI2luY2x1ZGUgIkRPTVRpbWVTdGFtcC5oIgogI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTMxLDggKzMyLDYgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgQ2xpcGJvYXJkOwotCiAgICAgY2xhc3Mg
RXZlbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudD4gewogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBQaGFzZVR5cGUgeyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBi
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA0OTY4MDRlLi42ODZkOWIzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5oCkBAIC0xNzgsNyArMTc4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFwKIC8vIGVu
ZCBvZiBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gKIAotICAgIGNsYXNzIEV2ZW50TmFtZXMgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TmFtZXMgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShFdmVudE5hbWVzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uODFlZWI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAg
ICAgRXZlbnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50
ZXIuaCBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVy
LmgKaW5kZXggOWQxODM1YS4uMjZmN2ZkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysgYi9XZWJDb3JlL2RvbS9JZ25v
cmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCkBAIC0yNywxMSArMjcsMTEgQEAK
ICNkZWZpbmUgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXJfaAogCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1l
bnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRl
Q291bnRJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWdub3JlRGVzdHJ1
Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IElnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKERvY3VtZW50KiBkb2N1bWVudCkKICAg
ICAgICAgOiBtX2NvdW50KGRvY3VtZW50ID8gJmRvY3VtZW50LT5tX2lnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudCA6IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5u
ZWwuaCBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjA3
NjY4YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBi
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCkBAIC01NSw3ICs1NSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIE1lc3NhZ2VQb3J0Q2hhbm5lbCBpcyBhIHBsYXRmb3Jt
LWluZGVwZW5kZW50IGludGVyZmFjZSB0byB0aGUgcmVtb3RlIHNpZGUgb2YgYSBtZXNzYWdlIGNo
YW5uZWwuCiAgICAgLy8gSXQgYWN0cyBhcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBwbGF0Zm9ybS1k
ZXBlbmRlbnQgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwgaW1wbGVtZW50YXRpb24gd2hpY2gg
ZW5zdXJlcyB0aGF0IHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgY2xvc2UoKSBtZXRob2QgaXMgaW52
b2tlZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCi0gICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNzYWdlUG9ydENoYW5uZWwpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNo
YW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4sIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+KTsK
IApAQCAtNzgsNyArNzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIFJldHVy
bnMgdHJ1ZSBpZiB0aGUgcHJveHkgY3VycmVudGx5IGNvbnRhaW5zIG1lc3NhZ2VzIGZvciB0aGlz
IHBvcnQuCiAgICAgICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiAKLSAgICAgICAgY2xh
c3MgRXZlbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXZlbnRE
YXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50RGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMg
UGFzc093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEu
aAppbmRleCBhYjIwOGQyLi43MzUwZjgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFy
ZURhdGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5v
bmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05vZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7
CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7CiAgICAgCkBAIC02Nyw3ICs2OSw4
IEBAIHByaXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNzIE5vZGVSYXJlRGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOiAg
ICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1fdGFiSW5kZXgoMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5h
bWUuaAppbmRleCAzNGZjMDY5Li5jYjk1ZjIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9RdWFs
aWZpZWROYW1lLmgKKysrIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICsz
Miw4IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCog
bV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFsaWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgUXVhbGlmaWVkTmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291
bnRlZDxRdWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRl
eCAwN2M1OWRiLi41MjUwZjNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50
LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNs
YXNzIFNjcmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3Jp
cHRFbGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2NyaXB0RWxlbWVudChFbGVtZW50KiwgYm9v
bCBjcmVhdGVkQnlQYXJzZXIsIGJvb2wgaXNFdmFsdWF0ZWQpOwogICAgIHZpcnR1YWwgflNjcmlw
dEVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBiNDZhMGY0
Li40NTY2YTYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0xMTYsOCAr
MTE2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCByZWYoKSB7IHJlZlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVi
bGljOgorICAgICAgICAgICAgVGFzaygpIHsgfQogICAgICAgICAgICAgdmlydHVhbCB+VGFzaygp
OwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBDZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3Bl
Y2lhbGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlzY2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3
aGVuIHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRvd24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmggYi9XZWJDb3JlL2RvbS9TcGFj
ZVNwbGl0U3RyaW5nLmgKaW5kZXggODI2ZTZiZC4uNmViODkzYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCisrKyBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJp
bmcuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFz
cyBTcGFjZVNwbGl0U3RyaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
U3BhY2VTcGxpdFN0cmluZ0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGFj
ZVNwbGl0U3RyaW5nRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgU3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wg
c2hvdWxkRm9sZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxk
Rm9sZENhc2Uoc2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjZjMDE0YTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L1RyYW5zZm9ybVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBA
IC0yMyw3ICsyMyw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYg
dm9pZCogUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5z
Zm9ybVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291
cmNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBUcmFuc2Zvcm1Tb3Vy
Y2UoY29uc3QgUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2UmIHNvdXJjZSk7CiAgICAgICAgIH5UcmFu
c2Zvcm1Tb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNh
dG9yLmggYi9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCmluZGV4IDE3ZWEzMTku
LmRlNTdlZmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgK
KysrIGIvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBVc2VyR2VzdHVyZUluZGljYXRvcl9oCiAjZGVmaW5lIFVzZXJHZXN0dXJlSW5k
aWNhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTM2LDcgKzM1LDggQEAgZW51bSBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0
ZSB7CiAgICAgRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZQogfTsKIAotY2xhc3Mg
VXNlckdlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlckdl
c3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJHZXN0dXJlSW5k
aWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUo
KSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlOyB9CiAgICAgc3RhdGljIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIGdl
dFVzZXJHZXN0dXJlU3RhdGUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggNmM3MTA3OS4uYmMz
YWNlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3Iu
aAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUg
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0z
NCw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9k
ZTsKIAotY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgYm9vbCBwcm9jZXNzaW5nVXNlclR5cGluZ0dlc3R1cmUoKTsKICAgICBzdGF0aWMgTm9kZSog
Zm9jdXNlZEVsZW1lbnRBdEdlc3R1cmVTdGFydCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXIuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKaW5k
ZXggZTNkM2NjMi4uZWU4MWQ3OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXIuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCkBAIC03MSw2ICs3
MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgY2xhc3MgWE1MRG9jdW1l
bnRQYXJzZXIgOiBwdWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBwdWJsaWMgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTERvY3VtZW50UGFyc2VyPiBjcmVh
dGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGcmFtZVZpZXcqIHZpZXcpCiAgICAgICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgYi9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCmluZGV4IDIzZjk4ODMuLmJjYmEzMjAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysr
IGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUs
MTAgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBQZW5kaW5nQ2FsbGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdD
YWxsYmFja3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwog
cHVibGljOgorICAgIFBlbmRpbmdDYWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNr
cygpCiAgICAgewogICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oIGIvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCmluZGV4IDU4ZThhNmIuLjhmNDE5MzMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9XZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgWE1M
RG9jdW1lbnRQYXJzZXJTY29wZV9oCiAjZGVmaW5lIFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBFTkFCTEUoWFNMVCkKICNpbmNs
dWRlIDxsaWJ4bWwvdHJlZS5oPgpAQCAtMzYsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNzIFhNTERvY3Vt
ZW50UGFyc2VyU2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFhNTERvY3Vt
ZW50UGFyc2VyU2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxEb2N1bWVu
dFBhcnNlclNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2Nv
cGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAg
flhNTERvY3VtZW50UGFyc2VyU2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9E
ZWxldGVCdXR0b25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29u
dHJvbGxlci5oCmluZGV4IDEyODZjMDcuLjRkOTI4YzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsK
IGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVsZXRl
QnV0dG9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9u
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0g
RUZyYWdtZW50VHlwZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRy
ZWVGcmFnbWVudCB9OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MK
IAotY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSZXBsYWNlbWVudEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNl
bWVudEZyYWdtZW50KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50
KiwgRG9jdW1lbnRGcmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVj
dGlvbiYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxl
ci5oIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0
Li5kNTU2MGY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxl
ci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcg
KzMyLDYgQEAKICNpbmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSAiVmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlz
aWJsZVBvc2l0aW9uOwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVj
dGlvbmFsU2VsZWN0aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2Vs
ZWN0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25D
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBFQWx0ZXJhdGlv
biB7IEFsdGVyYXRpb25Nb3ZlLCBBbHRlcmF0aW9uRXh0ZW5kIH07CiAgICAgZW51bSBFRGlyZWN0
aW9uIHsgRGlyZWN0aW9uRm9yd2FyZCwgRGlyZWN0aW9uQmFja3dhcmQsIERpcmVjdGlvblJpZ2h0
LCBEaXJlY3Rpb25MZWZ0IH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNr
aW5nSGVscGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXgg
MjI3NTMwZi4uOGI1YzY5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2lu
Z0hlbHBlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAt
NzIsNyArNzIsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7
CiB9OwogCi1jbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGV4dENoZWNraW5nSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0
Q2hlY2tpbmdIZWxwZXIpOwogcHVibGljOgogICAgIFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JD
bGllbnQqLCBQYXNzUmVmUHRyPFJhbmdlPik7CiAgICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9XZWJDb3JlL2Vk
aXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCBhM2VkZDM4Li42MWM5ZWU1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcv
VGV4dEl0ZXJhdG9yLmNwcApAQCAtNjEsNyArNjEsOCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwogLy8gQ2FzZSBmb2xkaW5nIGlzIGFsc28gZG9uZSBpZiB0aGUgQ2FzZUluc2Vuc2l0aXZl
IG9wdGlvbiBpcyBzcGVjaWZpZWQuCiAvLyBNYXRjaGVzIGFyZSBmdXJ0aGVyIGZpbHRlcmVkIGlm
IHRoZSBBdFdvcmRTdGFydHMgb3B0aW9uIGlzIHNwZWNpZmllZCwgYWx0aG91Z2ggc29tZQogLy8g
bWF0Y2hlcyBpbnNpZGUgYSB3b3JkIGFyZSBwZXJtaXR0ZWQgaWYgVHJlYXRNZWRpYWxDYXBpdGFs
QXNXb3JkU3RhcnQgaXMgc3BlY2lmaWVkIGFzIHdlbGwuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25z
dCBTdHJpbmcmIHRhcmdldCwgRmluZE9wdGlvbnMpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApA
QCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQgc3Rv
cCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoK
ICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9y
bVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVt
LmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJh
NzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFz
cyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAv
LyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9p
bnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVy
LXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBM
b2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQg
YmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgg
Yi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIw
YWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBA
QCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5
c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxi
YWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFt
ZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFj
a0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3Vs
dFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSog
b2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29u
dHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmluZGV4
IGU4OWUzMmIuLjk3ZWQ2YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2Fy
ZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVy
LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKICNk
ZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJ
dGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgQmFja0ZvcndhcmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVm
UHRyPEJhY2tGb3J3YXJkTGlzdD4pOwogICAgIH5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaCBiL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuaAppbmRleCA3MWFlNWFkLi5jZjJhMGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAg
ICBjbGFzcyBQYWdlQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VD
YWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSog
cGFnZUNhY2hlKCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rp
b25DYWNoZS5oIGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEu
LjhlNGEwNjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysg
Yi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hl
IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uOGY2ZmQ0ZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVNldHRhYmxlVG9r
ZW5MaXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tl
bkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAppbmRleCA1ZGYyZWRlLi4wYjc1
YjY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29y
ZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0yNywxNSArMjcsMTYgQEAKIAogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgRE9NVG9rZW5MaXN0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVRva2VuTGlzdCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRE9NVG9rZW5MaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CisgICAgRE9NVG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkg
e307CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCmluZGV4IDI2M2EwNTcuLjcwYjkwOTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
QEAgLTEyMTEsNyArMTIxMSw5IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVT
ZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3Ry
dWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50SGFu
ZGxpbmdTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAg
UmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVy
bWluYXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hU
TUxQYXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXgg
NTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWly
a3MuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcs
MTMgQEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsg
fQogICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBmMjc1
YWU4Li5jNzE3YzE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBA
IGNsYXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRo
ZSB0eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBl
eHBvc2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQg
dG8gY2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRU
eXBlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxl
bWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0
VHlwZT4gY3JlYXRlVGV4dChIVE1MSW5wdXRFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvU3RlcFJhbmdlLmggYi9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2UwNDRl
YS4uMWYxNjZiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1dl
YkNvcmUvaHRtbC9TdGVwUmFuZ2UuaApAQCAtMjIsMTMgKzIyLDEzIEBACiAjZGVmaW5lIFN0ZXBS
YW5nZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7
CiAKLWNsYXNzIFN0ZXBSYW5nZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFu
Z2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAg
Ym9vbCBoYXNTdGVwOwogICAgIGRvdWJsZSBzdGVwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApp
bmRleCBmZTE4YjZiLi5mODNhNWU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlv
bk1lc3NhZ2UuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtMzIs
NyArMzIsNiBAQAogI2RlZmluZSBWYWxpZGF0aW9uTWVzc2FnZV9oCiAKICNpbmNsdWRlICJUaW1l
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDAsNyArMzksOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ7CiAKLWNs
YXNzIFZhbGlkYXRpb25NZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlk
YXRpb25NZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2Fn
ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNy
ZWF0ZShIVE1MRm9ybUNvbnRyb2xFbGVtZW50Kik7CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1s
L1ZhbGlkaXR5U3RhdGUuaAppbmRleCA1MzJkZGIyLi5jM2ZjZGZjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRl
LmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxp
ZGl0eVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBj
cmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGEyNWU4YTEuLjE1OTQ1
NDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBA
IC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQw
LDggQEAgY2xhc3MgSFRNTFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9i
amVjdDsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDYW52YXNSZW5kZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwog
ICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBD
U1NQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2Fk
U2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwog
cHVibGljOgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysr
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICsz
MCw2IEBACiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3Jt
YXR0aW5nRWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxU
b2tlbjsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0
cnVjdGlvblNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsK
IHB1YmxpYzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2Ny
aXB0aW5nUGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25z
dHJ1Y3Rpb25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVs
ZW1lbnQqIGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVm
UHRyPEhUTUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9G
b3N0ZXJQYXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJl
Y3RUb0Zvc3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVk
aXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0
VG9Gb3N0ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAg
ICAgIDogbV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIu
aAppbmRleCAwNTA1M2RmLi41YTU2MDJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3Vt
ZW50UGFyc2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNs
YXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJs
aWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1
bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MRWxlbWVudFN0YWNrLmgKaW5kZXggOGE4ZTE2MC4uYTMyZWZhYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSFRN
TEVsZW1lbnRTdGFja19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM5LDEyICszOCwxNCBA
QCBjbGFzcyBRdWFsaWZpZWROYW1lOwogCiAvLyBOT1RFOiBUaGUgSFRNTDUgc3BlYyB1c2VzIGEg
YmFja3dhcmRzIChncm93cyBkb3dud2FyZCkgc3RhY2suICBXZSdyZSB1c2luZwogLy8gbW9yZSBz
dGFuZGFyZCAoZ3Jvd3MgdXB3YXJkcykgc3RhY2sgdGVybWlub2xvZ3kgaGVyZS4KLWNsYXNzIEhU
TUxFbGVtZW50U3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEVsZW1lbnRT
dGFjayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEVsZW1lbnRTdGFjayk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAg
ICB+SFRNTEVsZW1lbnRTdGFjaygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29yZCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEVsZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgfkVs
ZW1lbnRSZWNvcmQoKTsgLy8gUHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1
YmIuLmY3NWZhNTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRp
bmdFbGVtZW50TGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEVsZW1lbnQ7CiAKIC8vIFRoaXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0
YWNrLgotY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9m
IHRoZSBhZnRlckluc2VydGlvblBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRh
dGEgYXQgdGhlIGVuZCBvZiB0aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0g
dG8gdGhlICJsYXN0IiBzdHJpbmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MSW5wdXRTdHJlYW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAg
ICAgICAgIDogbV9sYXN0KCZtX2ZpcnN0KQpAQCAtMTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAg
ICAgU2VnbWVudGVkU3RyaW5nKiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJl
Y29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGlj
OgogICAgIGV4cGxpY2l0IEluc2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5w
dXRTdHJlYW0pCiAgICAgICAgIDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDViZTMzYjAuLjY0NzYwMjIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCAr
MjgsMTQgQEAKIAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1l
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7
CiAKLWNsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQ
YXJzZXJTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50
UGFyc2VyKiBwYXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2Fu
bmVyLmgKaW5kZXggOTRhOTBlNi4uYmVkNzdmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
cmVsb2FkU2Nhbm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNj
YW5uZXIuaCIKICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJp
bmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6
ZXI7CiBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaCBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCmluZGV4IDZjZjc0ZDguLjk4NmY3YmQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBi
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9z
dDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKLWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSFRNTFNjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0
ZShEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4IDQyY2RkYjguLjFjYmMxNTEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVG9rZW4uaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAK
ICNpbmNsdWRlICJOYW1lZE5vZGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9r
ZW4pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewog
ICAgICAgICBVbmluaXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAg
Ly8gd2FudCB0byBlbmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3
byBjbGFzc2VzLgogICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFz
cyBEb2N0eXBlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURh
dGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVi
bGljOgogICAgICAgICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRl
bnRpZmllcihmYWxzZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTog
VGhpcyBjbGFzcyBzaG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBt
b3ZlIHRoZQogLy8gZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxU
b2tlbml6ZXIuCi1jbGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQXRvbWljSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNI
VE1MVG9rZW4pOwogcHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2Vu
KQogICAgICAgICA6IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
aXplci5oCmluZGV4IGYxNmIwNDkuLmI1MGFhNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRva2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
aXplci5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5j
bHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVs
ZW1lbnQ7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2Vu
aXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3
Miw3ICsxNzIsOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0
d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5w
dXQtc3RyZWFtCi0gICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5p
emVyKQogICAgICAgICAgICAgOiBtX3Rva2VuaXplcih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggM2QzOTEzMS4uMDQzMWNmOSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMjQwLDcgKzI0MCw4IEBAIEhUTUxG
b3JtRWxlbWVudCogY2xvc2VzdEZvcm1BbmNlc3RvcihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8v
IG5hbWVzcGFjZQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9r
ZW5CdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpF
eHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShF
eHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRl
cm5hbENoYXJhY3RlclRva2VuQnVmZmVyKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAg
IDogbV9jdXJyZW50KHRva2VuLmNoYXJhY3RlcnMoKS5kYXRhKCkpCkBAIC0yMzM0LDcgKzIzMzUs
OCBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cmVwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tl
biYgdG9rZW4pCiAgICAgcHJvY2Vzc0VuZFRhZyh0b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVl
QnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRmFrZUluc2VydGlvbk1vZGUpOwogcHVibGljOgogICAgIEZha2VJbnNlcnRpb25Nb2Rl
KEhUTUxUcmVlQnVpbGRlciogdHJlZUJ1aWxkZXIsIEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAg
ICAgOiBtX3RyZWVCdWlsZGVyKHRyZWVCdWlsZGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmgKaW5kZXggMGU3NTk3Yy4uYjc0OWU3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdC5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9UZXh0UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBj
bGFzcyBIVE1MRG9jdW1lbnQ7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShIVE1MVHJlZUJ1aWxkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0
ZShIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wg
cmVwb3J0RXJyb3JzLCBib29sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIw
Myw3ICsyMDMsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNp
bmdJbkJvZHlNb2RlQW5kUmVzZXRNb2RlKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZv
aWQgcmVzZXRGb3JlaWduSW5zZXJ0aW9uTW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJz
aW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJz
aW5nQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2lu
Z0NvbnRleHQpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgp
OwogICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVt
ZW50KiBjb250ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2
Li44MTU1NjM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbElu
Y3JlbWVudGVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1l
bnRlci5oCkBAIC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
TmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVz
dGluZ0xldmVsSW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdM
ZXZlbEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNy
ZW1lbnRlcih1bnNpZ25lZCYgbmVzdGluZ0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVs
KCZuZXN0aW5nTGV2ZWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCAzNTFjNTg0
Li4yOTE3Mzc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5o
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDgg
QEAgY2xhc3MgU2NyaXB0Q2FsbEZyYW1lOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3Mg
U2NyaXB0VmFsdWU7CiAKLWNsYXNzIENvbnNvbGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIENvbnNvbGVNZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25z
b2xlTWVzc2FnZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbSwgdW5zaWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAg
ICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHQuaAppbmRleCBmODBjZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNp
bmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmgKaW5kZXggMTFmMTBjZS4uNDliZTJhOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4
LDcgKzI4LDYgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJf
QVBQTElDQVRJT05TKQogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVj
dDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xh
c3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KElu
c3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGU1N2MwODkuLjI0ZGZl
MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEwMCw3ICsx
MDAsOCBAQCBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0
SGFuZHNoYWtlUmVzcG9uc2U7CiAjZW5kaWYKIAotY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3Bl
Y3RvckRhdGFiYXNlUmVzb3VyY2U+ID4gRGF0YWJhc2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRl
ZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01T
dG9yYWdlUmVzb3VyY2VzTWFwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oCmluZGV4IGFkYzkyNWEuLmUxMzcyOWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTUyLDcgKzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50
VHlwZSB7CiAgICAgTmF0aXZlQnJlYWtwb2ludERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFz
cyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGlj
IFNjcmlwdERlYnVnTGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9y
Q29udHJvbGxlciosIEluc3BlY3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9y
RGVidWdnZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5oCmluZGV4IDlkY2FhNWEuLmJjZWUxZGEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYg
QEAKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBj
bGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6
IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29u
dHJvbGxlciosIFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFn
ZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXgg
ZTY3ODQ4ZC4uMWM0OWI5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UHJvZmlsZXJBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVy
QWdlbnQuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0
OwogY2xhc3MgU2NyaXB0SGVhcFNuYXBzaG90OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xh
c3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JQcm9maWxlckFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0
b3JQcm9maWxlckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3Rv
ckNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4u
ODFhZDQ5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApA
QCAtNzAsNyArNzAsOCBAQCBlbnVtIFRpbWVsaW5lUmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVS
ZXNvdXJjZVJlcXVlc3RUaW1lbGluZVJlY29yZFR5cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVu
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5l
QWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0
Q2FjaGUuaAppbmRleCAxMDE2YWVkLi5kZGQ1MDcwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIVFRQSGVhZGVyTWFwOwogICAgIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
SXRlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZUl0ZW0geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0o
Ym9vbCBjcmVkZW50aWFscykKICAgICAgICAgICAgIDogbV9hYnNvbHV0ZUV4cGlyeVRpbWUoMCkK
QEAgLTYzLDcgKzY0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBIZWFkZXJzU2V0
IG1faGVhZGVyczsKICAgICB9OwogCi0gICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3Jp
Z2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBz
aGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRl
eCBlYmYzYTI1Li4zYTNjYzY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuaApAQCAtNDcsNiArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlckNsaWVudDsKIAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1Ymxp
YyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShEb2N1bWVudCosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFi
bGVMb2FkZXI+IGNyZWF0ZShEb2N1bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaCBiL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50V3JpdGVyLmgKaW5kZXggNWZiM2RjMS4uZmI5MzYwNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dFdyaXRlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgU2VjdXJpdHlP
cmlnaW47CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogCi1jbGFzcyBEb2N1bWVudFdyaXRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudFdyaXRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRXcml0ZXIpOwogcHVibGljOgogICAgIERvY3VtZW50
V3JpdGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggMmFjOGRkMC4uMTY0MGRk
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTIxNCw4ICsyMTQsMTAgQEAgcHVibGljOgogI2Vu
ZGlmCiB9OwogCi1jbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9h
ZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNs
aWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRW1wdHlGcmFtZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgorICAgIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0
eUZyYW1lTG9hZGVyQ2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwgdm9pZCBmcmFtZUxvYWRlckRl
c3Ryb3llZCgpIHsgfQogCkBAIC0zODMsOCArMzg1LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRl
eHQoKSB7IHJldHVybiBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KIH07
CiAKLWNsYXNzIEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlFZGl0b3JDbGllbnQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsg
fQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAtNDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9Owog
CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50
IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlDb250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7IH0K
ICAgICB2aXJ0dWFsIH5FbXB0eUNvbnRleHRNZW51Q2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwg
dm9pZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsgfQogCkBAIC01MTksOCArNTI1LDEwIEBAIHB1
YmxpYzoKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIAogI2lmIEVOQUJMRShEUkFH
X1NVUFBPUlQpCi1jbGFzcyBFbXB0eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eURyYWdDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eURyYWdDbGllbnQoKSB7IH0KICAg
ICB2aXJ0dWFsIH5FbXB0eURyYWdDbGllbnQoKSB7fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVy
Zm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb24sIERyYWdEYXRh
KikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFn
U291cmNlQWN0aW9uLCBjb25zdCBJbnRQb2ludCYsIENsaXBib2FyZCopIHsgfQpAQCAtNTMyLDgg
KzU0MCwxMCBAQCBwdWJsaWM6CiB9OwogI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAK
LWNsYXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIElu
c3BlY3RvckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlJbnNwZWN0b3JD
bGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUluc3Bl
Y3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1
Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9u
LmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9ybVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291
bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGljOgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0
aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFzcyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGljOgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAg
ICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9kKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZh
ZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVj
dCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0JhY2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2Fk
VHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBw
dWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUqLCBGcmFtZUxvYWRlckNsaWVudCopOwogICAg
IH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJT
dGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgK
aW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRl
TWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1h
Y2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0
ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxvYWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlm
ZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdoaWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhl
IGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVyIGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1l
TG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9h
ZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0
YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUv
bG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5kZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0zMiw3ICszMiw2IEBACiAKICNpbmNsdWRlICJG
cmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5
SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRy
b2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3RvcnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAg
ICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBkYXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNr
Rm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDk0YTIxYTQuLmE4MzZm
NzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBz
dHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFnZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2VuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdl
RXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbWFn
ZUV2ZW50U2VuZGVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9XZWJDb3JlL2xvYWRl
ci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCA3YzY5MWFlLi5jYWZjOWVlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9XZWJDb3Jl
L2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtNTEsNyArNTEsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb24gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2NoZWR1bGVkTmF2aWdhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFNjaGVkdWxlZE5hdmlnYXRpb24oZG91YmxlIGRlbGF5LCBib29sIGxvY2tI
aXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QsIGJvb2wgd2FzRHVyaW5nTG9hZCwgYm9v
bCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAgICA6IG1fZGVsYXkoZGVsYXkpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9O
YXZpZ2F0aW9uU2NoZWR1bGVyLmgKaW5kZXggMTQwMGMyNS4uZjE0ZDA1MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBGcmFtZTsKIHN0
cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbjsKIAotY2xh
c3MgTmF2aWdhdGlvblNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOYXZp
Z2F0aW9uU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOYXZpZ2F0aW9uU2No
ZWR1bGVyKTsKIHB1YmxpYzoKICAgICBOYXZpZ2F0aW9uU2NoZWR1bGVyKEZyYW1lKik7CiAgICAg
fk5hdmlnYXRpb25TY2hlZHVsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BpbmdM
b2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAppbmRleCBlYjQzMTY2Li4zZjU2
M2ExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC0zNCw3ICszNCw2IEBACiAKICNpbmNsdWRlICJSZXNv
dXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAvLyB0byBhbGxv
dyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5vdWdoIHRvIGVuc3VyZSB0aGUgbWVzc2FnZSB3YXMg
YWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9yZSwgYXMgc29vbiBhcyBhIGNhbGxiYWNrIGlzIHJl
Y2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFuZGxlLCB0aGlzIGNsYXNzIAogLy8gd2lsbCBjYW5j
ZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNlbGYuCi1jbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0
ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBpbmdM
b2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwgY29uc3QgS1VSTCYgdXJsKTsKICAgICBz
dGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtV
UkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAppbmRleCA1NDE3MjljLi4z
MTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIE5h
dmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNw
b25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQb2xpY3lDaGVja2Vy
KTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVz
c1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjY1ZGQxYzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NU
cmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJv
Z3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIAogc3RhdGlj
IGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2
OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29weWFibGUgeworc3RydWN0IFByb2dyZXNz
SXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUHJvZ3Jlc3NJdGVtKGxvbmcgbG9uZyBsZW5n
dGgpIAogICAgICAgICA6IGJ5dGVzUmVjZWl2ZWQoMCkKICAgICAgICAgLCBlc3RpbWF0ZWRMZW5n
dGgobGVuZ3RoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKaW5kZXggNWQ1YjZiMi4uNjBl
YjhmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZp
bmUgUHJvZ3Jlc3NUcmFja2VyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgUmVzb3Vy
Y2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0ZW07CiAKLWNsYXNzIFByb2dyZXNzVHJhY2tl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9ncmVzc1RyYWNrZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlcigpOwogICAgIH5Qcm9ncmVzc1RyYWNr
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaCBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaAppbmRleCBiNmRlMzEyLi4xNTcxZDFjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9SZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCkBAIC0zMSw3
ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZTsK
ICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNzIFJlcXVlc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlcXVlc3QgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZXF1ZXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNlTG9hZGVyKiwgQ2FjaGVkUmVzb3Vy
Y2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNrUG9saWN5LCBib29sIHNlbmRSZXNv
dXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcwNDA2YSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaWZuZGVmIFJlc291cmNl
TG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsNyAr
NDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBj
bGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmllcik7CiBwdWJsaWM6CiAgICAgUmVz
b3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hl
ZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQyLDggQEAgY2xhc3MgUmVzb3VyY2VS
ZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRl
ckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBmcmllbmQgUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKIApAQCAtNjYsNyArNjYs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwog
ICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVzb3VyY2VMb2FkU2NoZWR1bGVyPiop
OwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
b3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAgICAgSG9zdEluZm9ybWF0aW9uKGNv
bnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhvc3RJbmZvcm1hdGlvbigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVy
L1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDExZDliOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9TdWJmcmFt
ZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBXaWRn
ZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIuIEl0IGhhbmRsZXMgdGhlIGhpZ2hl
ciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJhbWVzIGFuZCBwbHVnaW5zLgotY2xh
c3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3ViZnJhbWVM
b2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1YmZyYW1lTG9hZGVyKTsKIHB1Ymxp
YzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApA
QCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyX2gKICNkZWZpbmUgVGhy
ZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNjUsNyAr
NjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBVc2VmdWwgZm9yIGRvaW5nIGxv
YWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRocmVhZHNhZmUsIAogICAgIC8v
IGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCku
Ci0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRo
cmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJl
c291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCos
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7
CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXJl
ZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAg
ICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9h
ZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAw
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIGIvV2ViQ29y
ZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmluZGV4IGJjZjY4YmUuLmNlYThiMGYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKQEAgLTMxLDE0ICszMSwx
NCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKICNkZWZpbmUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXJDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRT
ZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLypieXRlc1NlbnQqLywgdW5zaWduZWQgbG9uZyBs
b25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8pIHsgfQogCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgeyB9CiAKICAgICBwcm90
ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2FkZXJDbGllbnQoKSB7IH0KICAgICAgICAgdmly
dHVhbCB+VGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAgIH07CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmggYi9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCmluZGV4IGQzYzFhOWYuLmQ0
ZmVhY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRX
cmFwcGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBw
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3Jh
cHBlcl9oCiAKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvVGhyZWFkaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIu
aAppbmRleCA4MWRhMmUwLi42NWNjNjM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Xb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJs
ZUxvYWRlci5oCkBAIC01NCw2ICs1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgY2xhc3MgV29ya2VyVGhy
ZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVMb2FkZXI+
LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hy
b25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJD
b250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNv
bnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaCBiL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCmluZGV4IDI5ZDA3NDkuLjkxYWMyOGIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5o
CkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNp
bmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAt
NTMsNyArNTIsOCBAQCBlbnVtIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVPcHRpb24gewogICAgIEFw
cGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJvd3NpbmdDb250ZXh0CiB9OwogCi1jbGFzcyBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUsIFJlc291cmNlSGFuZGxl
Q2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IFJlc291cmNlSGFuZGxlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlR3JvdXApOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBcHBsaWNhdGlvbkNhY2hlR3Jv
dXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5ID0gZmFsc2UpOyAgICAKICAg
ICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li5hMWYyODQxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKQEAgLTU4LDcgKzU4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3QgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9zdCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIFN0YXR1cyBudW1lcmljIHZh
bHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBIVE1MNSBzcGVjLgogICAgICAgICBlbnVtIFN0YXR1
cyB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZS5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3Jh
Z2UuaAppbmRleCA3ZGIzNGU2Li44YmZkZjEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgdGVtcGxh
dGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwogY2xhc3MgU2VjdXJpdHlPcmln
aW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIGVudW0gRmFpbHVyZVJlYXNvbiB7CiAgICAgICAgIE9yaWdpblF1b3RhUmVh
Y2hlZCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNl
Q29sbGVjdGlvbi5oIGIvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uLmgKaW5kZXggOWQ2MzBkMS4uZmQyZGRiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKQEAgLTM5LDcgKzM5LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24pOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDlhNTRj
NTMuLmFlNmY3NTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtNDks
NyArNDksOCBAQCBjbGFzcyBSZXF1ZXN0OwogLy8gQSByZXNvdXJjZSB0aGF0IGlzIGhlbGQgaW4g
dGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRvIHVzZSB0aGlzIG9iamVjdCBzaG91bGQgZGVy
aXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50LCB0byBnZXQgdGhlIGZ1bmN0aW9uIGNh
bGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRhIGhhcyBhcnJpdmVkLgogLy8gVGhpcyBjbGFz
cyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5pY2F0aW9uIHdpdGggdGhlIGxvYWRlciB0byBv
YnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5ldHdvcmsuCi1jbGFzcyBDYWNoZWRSZXNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJpZW5kIGNsYXNzIEluc3Bl
Y3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
Q2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uMjFlYTAyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaWZuZGVmIENhY2hl
ZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VDbGllbnRfaAogCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAz
IGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGll
bnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJj
ZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgdmlydHVhbCB+Q2FjaGVkUmVzb3VyY2VDbGllbnQoKSB7IH0KIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggZjM3MWEwZS4uNmQ0YTdh
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC00
Nyw3ICs0Nyw4IEBAIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3MgS1VSTDsKIAogLy8gVGhlIENh
Y2hlZFJlc291cmNlTG9hZGVyIG1hbmFnZXMgdGhlIGxvYWRpbmcgb2Ygc2NyaXB0cy9pbWFnZXMv
c3R5bGVzaGVldHMgZm9yIGEgc2luZ2xlIGRvY3VtZW50LgotY2xhc3MgQ2FjaGVkUmVzb3VyY2VM
b2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlTG9hZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiBmcmllbmQgY2xh
c3MgSW1hZ2VMb2FkZXI7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4IDE1Y2U5
ZGEuLmQwODQ5ZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaApAQCAtMzEsNyArMzEs
NiBAQAogI2luY2x1ZGUgImxvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBA
IC03MSw3ICs3MCw4IEBAIGNsYXNzIEtVUkw7CiAvLyBpdHMgbWVtYmVyIHZhcmlhYmxlcykgYXJl
IGFsbG9jYXRlZCBpbiBub24tcHVyZ2VhYmxlIFRDLW1hbGxvYydkIG1lbW9yeSBzbyB3ZSB3b3Vs
ZCBzZWUgc2xpZ2h0bHkKIC8vIG1vcmUgbWVtb3J5IHVzZSBkdWUgdG8gdGhpcy4KIAotY2xhc3Mg
TWVtb3J5Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVtb3J5Q2FjaGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lbW9yeUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNoZSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIvV2ViQ29yZS9sb2Fk
ZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5lYzg3YmY0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4IEBAIGVudW0gSWNv
bkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0
YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0YWJhc2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogLy8gKioqIE1haW4gVGhyZWFkIE9ubHkgKioqCiBwdWJsaWM6CiAgICAgdm9pZCBzZXRD
bGllbnQoSWNvbkRhdGFiYXNlQ2xpZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2VDbGllbnQuaAppbmRleCBjMjEwZDdkLi40YWUyZWM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlQ2xpZW50LmgKQEAgLTMwLDE1ICszMCwxNiBAQAogI2RlZmluZSBJY29uRGF0
YWJhc2VDbGllbnRfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogLy8gQWxsIG9mIHRoZXNlIGNsaWVudCBtZXRob2RzIHdpbGwgYmUg
Y2FsbGVkIGZyb20gYSBub24tbWFpbiB0aHJlYWQKIC8vIFRha2UgYXBwcm9wcmlhdGUgbWVhc3Vy
ZXMKICAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25EYXRhYmFzZUNsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CisgICAgSWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVh
bCB+SWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCBib29sIHBlcmZvcm1JbXBv
cnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVtb3Zl
QWxsSWNvbnMoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKaW5kZXggMWViYWM0OC4uN2Q4
MDg5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lu
Y2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3LDcgKzM2LDggQEAgY2xhc3MgRnJhbWU7CiBj
bGFzcyBLVVJMOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1jbGFzcyBJY29uTG9hZGVyIDogcHJp
dmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7
CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFn
ZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5kZXgg
ZjdjY2I4Zi4uYTVlNTVhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJM
UmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAgLTMx
LDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBpY29uVVJMOwog
fTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
YWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJMUmVjb3JkKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUGFnZVVSTFJlY29yZChjb25z
dCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdlVVJMUmVjb3JkKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9sb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCmluZGV4IDgx
OGY1NmYuLjIzMjA0MzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiU3Vi
cmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw4ICsz
NCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI7CiAgICAgY2xhc3MgUmVxdWVzdDsKIAotICAgIGNsYXNzIExvYWRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSwgcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgY2xhc3MgTG9h
ZGVyIDogU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShMb2FkZXIpOwogICAgIHB1YmxpYzoKKyAgICAgICAgTG9hZGVyKCkgeyB9CiAgICAgICAg
IH5Mb2FkZXIoKTsKIAogICAgICAgICB2b2lkIGxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBD
YWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwgPSB0cnVlLCBTZWN1cml0eUNoZWNrUG9s
aWN5ID0gRG9TZWN1cml0eUNoZWNrLCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSB0
cnVlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBi
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBmMTRhMzAyLi43MzEz
MWU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysr
IGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCiAgICAgY2xh
c3MgTm90aWZpY2F0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGlj
IEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBF
dmVudFRhcmdldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3Qg
S1VSTCYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2Rl
JiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgTm90aWZpY2F0aW9u
Q29udGVudHMmIGNvbnRlbnRzLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNl
cHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAppbmRleCA4MzNiOTA5Li5hMjRkMTI2IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKKysrIGIvV2Vi
Q29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZu
ZGVmIENvbnRleHRNZW51Q29udHJvbGxlcl9oCiAjZGVmaW5lIENvbnRleHRNZW51Q29udHJvbGxl
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBFdmVudDsK
ICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudUNvbnRyb2xsZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51Q29udHJv
bGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRNZW51Q29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9X
ZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi4zNjBlNDYzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAgICAKLSAg
ICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
RHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFnQ29udHJv
bGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgRHJh
Z0NvbnRyb2xsZXIoUGFnZSosIERyYWdDbGllbnQqKTsKICAgICAgICAgfkRyYWdDb250cm9sbGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggY2ExOWEwYy4uNDc4MDYxOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
aApAQCAtODAsNyArODAsOCBAQCBleHRlcm4gY29uc3QgaW50IEdlbmVyYWxEcmFnSHlzdGVyZXNp
czsKIAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJzLCBE
b250SGl0VGVzdFNjcm9sbGJhcnMgfTsKIAotY2xhc3MgRXZlbnRIYW5kbGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEV2ZW50SGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRXZlbnRIYW5kbGVyKTsKIHB1YmxpYzoKICAgICBFdmVudEhhbmRsZXIoRnJhbWUqKTsKICAg
ICB+RXZlbnRIYW5kbGVyKCk7CkBAIC0yMjIsNyArMjIzLDEwIEBAIHByaXZhdGU6CiAgICAgICAg
IFBlcmZvcm1EcmFnQW5kRHJvcAogICAgIH07CiAKLSAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVyRHJh
Z1N0YXRlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXJEcmFnU3RhdGUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIEV2ZW50SGFuZGxl
ckRyYWdTdGF0ZSgpIHsgfQogICAgICAgICBSZWZQdHI8Tm9kZT4gbV9kcmFnU3JjOyAvLyBlbGVt
ZW50IHRoYXQgbWF5IGJlIGEgZHJhZyBzb3VyY2UsIGZvciB0aGUgY3VycmVudCBtb3VzZSBnZXN0
dXJlCiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNMaW5rOwogICAgICAgICBib29sIG1fZHJhZ1Ny
Y0lzSW1hZ2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IGZmZWQ1OTIuLjEwYWQ2YmEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJj
ZS5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyOwogCiAgICAgY2xhc3MgRXZlbnRTb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVu
dFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5oCmluZGV4IGJlNTFjNzcuLjI4NTBkODggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9s
bGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2lu
Y2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsK
IGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBGb2N1c0NvbnRyb2xsZXIoUGFnZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRnJhbWVUcmVlLmggYi9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKaW5kZXggOTRiOGQx
Ni4uYmFjNTQ3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCisrKyBiL1dl
YkNvcmUvcGFnZS9GcmFtZVRyZWUuaApAQCAtMjYsNyArMjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAgIGNsYXNzIEZyYW1lVHJlZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhbWVUcmVlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRnJhbWVUcmVlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZyYW1lVHJlZShGcmFt
ZSogdGhpc0ZyYW1lLCBGcmFtZSogcGFyZW50RnJhbWUpIAogICAgICAgICAgICAgOiBtX3RoaXNG
cmFtZSh0aGlzRnJhbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGIxNGQxMWIuLmY3YzJmZTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC0xMDYsNyArMTA2LDEwIEBAIGRvdWJsZSBGcmFtZVZpZXc6OnNfZGVmZXJy
ZWRSZXBhaW50RGVsYXlJbmNyZW1lbnREdXJpbmdMb2FkaW5nID0gMDsKIC8vIFRoZSBtYXhpbXVt
IG51bWJlciBvZiB1cGRhdGVXaWRnZXRzIGl0ZXJhdGlvbnMgdGhhdCBzaG91bGQgYmUgZG9uZSBi
ZWZvcmUgcmV0dXJuaW5nLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFVwZGF0ZVdpZGdldHNJ
dGVyYXRpb25zID0gMjsKIAotc3RydWN0IFNjaGVkdWxlZEV2ZW50IDogTm9uY29weWFibGUgewor
c3RydWN0IFNjaGVkdWxlZEV2ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVs
ZWRFdmVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFNjaGVkdWxl
ZEV2ZW50KCkgeyB9CiAgICAgUmVmUHRyPEV2ZW50PiBtX2V2ZW50OwogICAgIFJlZlB0cjxOb2Rl
PiBtX2V2ZW50VGFyZ2V0OwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlv
bkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAppbmRl
eCA3ZGIxOTUxLi45YTVkMDE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25D
b250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCkBA
IC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNz
IEdlb2xvY2F0aW9uRXJyb3I7CiBjbGFzcyBHZW9sb2NhdGlvblBvc2l0aW9uOwogY2xhc3MgUGFn
ZTsKIAotY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
R2VvbG9jYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBHZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoUGFnZSosIEdlb2xvY2F0aW9uQ2xpZW50Kik7CiAgICAgfkdlb2xvY2F0aW9uQ29udHJvbGxl
cigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaCBiL1dlYkNvcmUv
cGFnZS9Hcm91cFNldHRpbmdzLmgKaW5kZXggZmI2ZjZiNS4uMWJiYWQyYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaAorKysgYi9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0
aW5ncy5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFn
ZUdyb3VwOwogCi1jbGFzcyBHcm91cFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEdyb3VwU2V0dGluZ3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyb3VwU2V0dGlu
Z3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGE5Mzg5MzIuLmU0MTc4MjYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtOTAsMTIgKzg5LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgUGFnZUNsaWVudHMoKTsKICAgICAgICAgICAgIH5QYWdlQ2xpZW50cygpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgK
aW5kZXggY2M0N2ZiYS4uNmQ3ZDZjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cC5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2Rl
ZmluZSBQYWdlR3JvdXBfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJMaW5rSGFzaC5oIgogI2luY2x1ZGUgIlVzZXJT
Y3JpcHQuaCIKICNpbmNsdWRlICJVc2VyU3R5bGVTaGVldC5oIgpAQCAtNDEsNyArNDAsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBTdG9yYWdlTmFt
ZXNwYWNlOwogCi0gICAgY2xhc3MgUGFnZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBQYWdlR3JvdXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3Jv
dXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VH
cm91cChjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgICAgICBQYWdlR3JvdXAoUGFnZSopOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmluZGV4IGQ0NDNlYmQuLmY3OTU2YzQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKQEAgLTI4LDcgKzI4LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBjbGFz
cyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBh
Z2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3JvdXBMb2Fk
RGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxmKTsKICAgICAgICAgflBhZ2VHcm91cExvYWRE
ZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oIGIvV2Vi
Q29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4IGFmOGIzMWUuLjViOTZkMTkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGx1Z2lu
SGFsdGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBI
YWx0YWJsZVBsdWdpbjsKIAotY2xhc3MgUGx1Z2luSGFsdGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFBsdWdpbkhhbHRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2lu
SGFsdGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUGx1Z2luSGFs
dGVyKFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDA0YjEyNmEuLmI1MjYxYjIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
VGV4dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBT
ZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2V0dGluZ3MoUGFnZSopOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaCBiL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5o
CmluZGV4IDQ1MzJkNDkuLjg1M2MwYWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJ
bnB1dC5oCisrKyBiL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCkBAIC0zNiw3ICszNiw2IEBA
CiAjaW5jbHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw3ICs0Niw4IEBAIGNsYXNzIFNwZWVj
aElucHV0TGlzdGVuZXI7CiAvLyBUaGlzIGNsYXNzIGNvbm5lY3RzIHRoZSBpbnB1dCBlbGVtZW50
cyByZXF1aXJpbmcgc3BlZWNoIGlucHV0IHdpdGggdGhlIHBsYXRmb3JtIHNwZWNpZmljCiAvLyBz
cGVlY2ggcmVjb2duaXRpb24gZW5naW5lLiBJdCBwcm92aWRlcyBtZXRob2RzIGZvciB0aGUgaW5w
dXQgZWxlbWVudHMgdG8gYWN0aXZhdGUgc3BlZWNoCiAvLyByZWNvZ25pdGlvbiBhbmQgbWV0aG9k
cyBmb3IgdGhlIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUgdG8gcmV0dXJuIGJhY2sgdGhlIHJl
c3VsdHMuCi1jbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFNw
ZWVjaElucHV0TGlzdGVuZXIgeworY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgU3BlZWNoSW5w
dXRMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BlZWNoSW5wdXQpOwogcHVi
bGljOgogICAgIFNwZWVjaElucHV0KFNwZWVjaElucHV0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+
U3BlZWNoSW5wdXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmggYi9X
ZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCmluZGV4IDA2NTI0MzkuLjA1MTQwOTAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTY3Jp
cHQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVz
ZXJTY3JpcHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclNjcmlwdCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclNjcmlwdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0
ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaCBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVT
aGVldC5oCmluZGV4IGZhNDJlMmMuLjA2OGRmMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9V
c2VyU3R5bGVTaGVldC5oCisrKyBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCkBAIC0z
NSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclN0eWxlU2hl
ZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclN0eWxlU2hlZXQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTdHlsZVNoZWV0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNv
bnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJp
bmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NB
dWRpdG9yLmgKaW5kZXggMmI3ODFmMS4uNWJlZWQ2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1hTU0F1ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2
OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6
c2hvdWxkTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBK
YXZhU2NyaXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVj
dCAtIHVzZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAg
Y2xhc3MgWFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVk
aXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFhTU0F1ZGl0b3IoRnJhbWUq
KTsKICAgICAgICAgflhTU0F1ZGl0b3IoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkJhc2UuY3BwCmluZGV4IDY2MTcyZjcuLjY4NTUxZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25CYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw4IEBAIGNsYXNzIFByb3BlcnR5V3Jh
cHBlckJhc2U7CiBzdGF0aWMgdm9pZCBhZGRTaG9ydGhhbmRQcm9wZXJ0aWVzKCk7CiBzdGF0aWMg
UHJvcGVydHlXcmFwcGVyQmFzZSogd3JhcHBlckZvclByb3BlcnR5KGludCBwcm9wZXJ0eUlEKTsK
IAotY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9wZXJ0
eVdyYXBwZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJv
cGVydHlXcmFwcGVyQmFzZShpbnQgcHJvcCkKICAgICAgICAgOiBtX3Byb3AocHJvcCkKQEAgLTQz
OCw3ICs0MzksOCBAQCBwdWJsaWM6CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNz
IEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0
eVdyYXBwZXJCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRmlsbExheWVyUHJvcGVy
dHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcik7
CiBwdWJsaWM6CiAgICAgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKFQgKEZpbGxMYXll
cjo6KmdldHRlcikoKSBjb25zdCkKICAgICAgICAgOiBtX2dldHRlcihnZXR0ZXIpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgg
Yi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKaW5k
ZXggODkzYzcxNy4uYzg0ZGQ1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBOb2Rl
OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLWNsYXNzIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Nv
bXBvc2l0ZUFuaW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmlt
YXRpb24uaAppbmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBs
aWNpdEFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2Uv
bWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2Uv
bWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhh
bmRsZXI6OmN1cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCku
Z2V0KCk7CiB9CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q3VycmVudEV2ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZl
bnQgKik7CiAgICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0
ZW0uaAppbmRleCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVt
LmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xh
c3MgQXN5bmNGaWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5j
IGludGVyZmFjZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRp
b24uICBOb3RlIHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFz
cyBBc3luY0ZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxl
U3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVi
bGljOgogICAgIHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDgg
KzQxLDExIEBAIGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsK
IHN0cnVjdCBGaWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3Mgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJs
aWM6CisgICAgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2Fs
bGVkIHdoZW4gYSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHku
CiAgICAgdmlydHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFp
bmVkUG9vbC5oCmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vQXV0b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5l
ZFBvb2wuaApAQCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2Rl
ZmluZSBBdXRvZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
ICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgs
OCBAQCBjbGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBBdXRvZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2Ry
YWluZWRQb29sIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwog
cHVibGljOgogICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAg
ICB+QXV0b2RyYWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRl
eHRNZW51LmggYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4u
NTlhMDJiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRl
ZiBDb250ZXh0TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAi
SGl0VGVzdFJlc3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRl
eHRNZW51IDogcHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhp
dFRlc3RSZXN1bHQmKTsKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYs
IGNvbnN0IFBsYXRmb3JtTWVudURlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vQ29udGV4dE1lbnVJdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRl
bS5oCmluZGV4IGU3MDI5MjEuLmQ5ZTI1NjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0u
aApAQCAtMjUyLDcgKzI1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHZv
aWQqIFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlvbjsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29u
dGV4dE1lbnVJdGVtIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIENvbnRleHRN
ZW51SXRlbSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQ29udGV4dE1lbnVJdGVtKFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlvbik7CiAg
ICAgICAgIENvbnRleHRNZW51SXRlbShDb250ZXh0TWVudSogc3ViTWVudSA9IDApOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCmluZGV4IDQ3Y2Q1MzguLjBhNGE1MTUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBE
ZXByZWNhdGVkUHRyTGlzdF9oCiAKICNpbmNsdWRlICJEZXByZWNhdGVkUHRyTGlzdEltcGwuaCIK
LSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yOwogCi10
ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3Qgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJM
aXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJl
Y2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLmVmMjk5NTkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwx
MSBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNv
cHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIERlcHJlY2F0ZWRMaXN0Tm9kZSh2b2lkICpkKSA6IGRhdGEoZCksIG5leHQoMCks
IHByZXYoMCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCmluZGV4IGIwNTA3ZjcuLjhmNjQ3NDggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9FdmVudExvb3AuaApAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIEV2ZW50TG9vcF9o
CiAjZGVmaW5lIEV2ZW50TG9vcF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgRXZlbnRMb29wIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudExvb3AgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShFdmVudExvb3ApOwogICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRMb29wKCkKICAgICAg
ICAgICAgIDogbV9lbmRlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vR2Vv
bG9jYXRpb25TZXJ2aWNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5o
CmluZGV4IDE1ODVmNjUuLmQ2MGFlNmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vR2Vv
bG9jYXRpb25TZXJ2aWNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBHZW9sb2NhdGlvblNlcnZpY2VfaAogI2Rl
ZmluZSBHZW9sb2NhdGlvblNlcnZpY2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
NDIsNyArNDIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uU2Vydmlj
ZUVycm9yT2NjdXJyZWQoR2VvbG9jYXRpb25TZXJ2aWNlKikgPSAwOwogfTsKIAotY2xhc3MgR2Vv
bG9jYXRpb25TZXJ2aWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9u
U2VydmljZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25TZXJ2aWNlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgR2VvbG9jYXRpb25TZXJ2aWNlKiBjcmVhdGUoR2VvbG9jYXRp
b25TZXJ2aWNlQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+R2VvbG9jYXRpb25TZXJ2aWNlKCkgeyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vSG9zdFdpbmRvdy5oCmluZGV4IDc4ODJkNDguLjIyNTg4NGIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdp
bmRvdy5oCkBAIC0yNiwxNSArMjYsMTYgQEAKICNpZm5kZWYgSG9zdFdpbmRvd19oCiAjZGVmaW5l
IEhvc3RXaW5kb3dfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAi
V2lkZ2V0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3Vyc29yOwogCi1jbGFz
cyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RXaW5kb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKKyAgICBIb3N0V2luZG93KCkgeyB9CiAgICAgdmlydHVhbCB+SG9zdFdp
bmRvdygpIHsgfQogCiAgICAgLy8gUmVxdWVzdHMgdGhlIGhvc3QgaW52YWxpZGF0ZSB0aGUgd2lu
ZG93LCBub3QgdGhlIGNvbnRlbnRzLiAgSWYgaW1tZWRpYXRlIGlzIHRydWUgZG8gc28gc3luY2hy
b25vdXNseSwgb3RoZXJ3aXNlIGFzeW5jLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCmluZGV4IDhlMjczNTAuLmI2
ODcyNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgS2lsbFJpbmcgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVu
ZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLjkzNDU0MjAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUs
NyArMzQsOSBAQCBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsg
Ly8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywg
UmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2lj
IH07CiAKLXN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIExlbmd0aCgpCiAgICAg
ICAgIDogbV92YWx1ZSgwKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGFz
dGVib2FyZC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggN2M1MDczNy4u
ZjBiMmU5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CkBAIC04MSw3ICs4MCw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIGNs
YXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICAKLWNsYXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUGFzdGVib2FyZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFzdGVib2FyZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogI2lmIFBMQVRG
T1JNKE1BQykKICAgICAvL0hlbHBlciBmdW5jdGlvbnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNo
YXJlIGNvZGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2
ZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IGJj
MjhlODQuLmFlZTk1YjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXli
b2FyZEV2ZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQu
aApAQCAtNzUsNyArNzUsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVpbnQzMjsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMg
c3VjaCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBi
b3RoIHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
UHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1
cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVm
ZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1
ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNv
bnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9SdW5Mb29wVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgK
aW5kZXggNjVmMjUzZS4uZjhjNTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5M
b29wVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwx
NSArMzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxl
UGFpci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUg
YWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsg
fQogICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUo
Y29uc3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGJhclRoZW1lLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVm
YWY3YS4uZjEwNjkxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVt
ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYs
MTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3Mg
U2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9s
bGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU2Nyb2xs
YmFyVGhlbWUoKSB7IH0KICAgICB2aXJ0dWFsIH5TY3JvbGxiYXJUaGVtZSgpIHt9OwogCiAgICAg
dmlydHVhbCBib29sIHBhaW50KFNjcm9sbGJhciosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IElu
dFJlY3QmIC8qZGFtYWdlUmVjdCovKSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1l
ci5oCmluZGV4IDViNWNkMTQuLjcxMWU2YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
U2hhcmVkVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTI2
LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBTaGFyZWRUaW1lcl9oCiAjZGVmaW5lIFNoYXJlZFRpbWVy
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICAvLyBFYWNoIHRocmVhZCBoYXMgaXRzIG93biBzaW5nbGUgaW5zdGFuY2Ugb2Ygc2hh
cmVkIHRpbWVyLCB3aGljaCBpbXBsZW1lbnRzIHRoaXMgaW50ZXJmYWNlLgogICAgIC8vIFRoaXMg
aW5zdGFuY2UgaXMgc2hhcmVkIGJ5IGFsbCB0aW1lcnMgaW4gdGhlIHRocmVhZC4KICAgICAvLyBO
b3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseTsgdXNlIHRoZSBUaW1lciBjbGFzcyBpbnN0
ZWFkLgotICAgIGNsYXNzIFNoYXJlZFRpbWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBTaGFyZWRUaW1lciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYXJlZFRp
bWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAgICBTaGFy
ZWRUaW1lcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5TaGFyZWRUaW1lcigpIHt9CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBzZXRGaXJlZEZ1bmN0aW9uKHZvaWQgKCopKCkpID0gMDsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmggYi9XZWJDb3JlL3BsYXRm
b3JtL1RocmVhZEdsb2JhbERhdGEuaAppbmRleCA5ZjU3ZjAwLi5lODQyYjdmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL1RocmVhZEdsb2JhbERhdGEuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogI2lmIEVOQUJM
RShXT1JLRVJTKQpAQCAtNDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3Ry
dWN0IFRFQ0NvbnZlcnRlcldyYXBwZXI7CiAgICAgY2xhc3MgVGhyZWFkVGltZXJzOwogCi0gICAg
Y2xhc3MgVGhyZWFkR2xvYmFsRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGhyZWFkR2xvYmFsRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZEds
b2JhbERhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAg
ICAgICB+VGhyZWFkR2xvYmFsRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRUaW1lcnMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggYWI0
MjU5OC4uZjk5OTQwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCkBAIC0yNyw3ICsyNyw2IEBA
CiAjaWZuZGVmIFRocmVhZFRpbWVyc19oCiAjZGVmaW5lIFRocmVhZFRpbWVyc19oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgVGltZXJCYXNlOwogCiAgICAgLy8gQSBjb2xsZWN0aW9uIG9mIHRpbWVycyBw
ZXIgdGhyZWFkLiBLZXB0IGluIFRocmVhZEdsb2JhbERhdGEuCi0gICAgY2xhc3MgVGhyZWFkVGlt
ZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRUaW1lcnMgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRUaW1lcnMpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgK
aW5kZXggYzQ0NDNkYS4uODVmMGRhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1l
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lm
bmRlZiBUaW1lcl9oCiAjZGVmaW5lIFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVs
ZW1lbnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBU
aW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRpbWVyQmFzZSgpOwogICAgIHZpcnR1YWwg
flRpbWVyQmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaAppbmRleCA5ZDlhYzFmLi5iODcyYWRkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBUcmVlU2hhcmVk
X2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0zMiw3ICszMSw4IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQ7
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFkb3B0ZWQoVHJlZVNoYXJlZDxUPiopOwogI2Vu
ZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVHJlZVNoYXJlZCk7CiBwdWJsaWM6CiAgICAgVHJlZVNoYXJl
ZCgpCiAgICAgICAgIDogbV9yZWZDb3VudCgxKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uTGlzdC5oCmluZGV4IDlhMzM0Y2EuLmJmOGZmOWYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBBbmltYXRpb25MaXN0IDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgQW5pbWF0aW9uTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uTGlzdCgpIHsgfQogICAgIEFuaW1hdGlvbkxpc3QoY29u
c3QgQW5pbWF0aW9uTGlzdCYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb0J1cy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQzMThi
ODEuLjM5OGUxMjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTMwLDcgKzMwLDYg
QEAKICNkZWZpbmUgQXVkaW9CdXNfaAogCiAjaW5jbHVkZSAiQXVkaW9DaGFubmVsLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM5LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogLy8gQW4gQXVkaW9CdXMgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2Ygb25lIG9yIG1v
cmUgQXVkaW9DaGFubmVscy4KIC8vIFRoZSBkYXRhIGxheW91dCBpcyAicGxhbmFyIiBhcyBvcHBv
c2VkIHRvICJpbnRlcmxlYXZlZCIuCiAvLyBBbiBBdWRpb0J1cyB3aXRoIG9uZSBjaGFubmVsIGlz
IG1vbm8sIGFuIEF1ZGlvQnVzIHdpdGggdHdvIGNoYW5uZWxzIGlzIHN0ZXJlbywgZXRjLgotY2xh
c3MgQXVkaW9CdXMgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQnVzICB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVkaW9CdXMgKTsKIHB1YmxpYzoKICAgICBlbnVtIHsK
ICAgICAgICAgQ2hhbm5lbExlZnQgPSAwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0NoYW5uZWwuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVs
LmgKaW5kZXggNjgxNjgzMC4uNzMyNWU5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hh
bm5lbC5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNkZWZpbmUgQXVkaW9DaGFubmVsX2gKIAogI2lu
Y2x1ZGUgIkF1ZGlvQXJyYXkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuIEF1
ZGlvQ2hhbm5lbCByZXByZXNlbnRzIGEgYnVmZmVyIG9mIG5vbi1pbnRlcmxlYXZlZCBmbG9hdGlu
Zy1wb2ludCBhdWRpbyBzYW1wbGVzLgogLy8gVGhlIFBDTSBzYW1wbGVzIGFyZSBub3JtYWxseSBh
c3N1bWVkIHRvIGJlIGluIGEgbm9taW5hbCByYW5nZSAtMS4wIC0+ICsxLjAKLWNsYXNzIEF1ZGlv
Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0NoYW5uZWwgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQ2hhbm5lbCk7CiBwdWJsaWM6CiAgICAgLy8gTWVt
b3J5IGNhbiBiZSBleHRlcm5hbGx5IHJlZmVyZW5jZWQsIG9yIGNhbiBiZSBpbnRlcm5hbGx5IGFs
bG9jYXRlZCB3aXRoIGFuIEF1ZGlvRmxvYXRBcnJheS4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkRhdGFiYXNlLmgKaW5kZXggYzMzYjM4Zi4uMzUxNDY5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0hSVEZEYXRhYmFzZS5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlICJIUlRGRWxldmF0
aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgSFJURktlcm5lbDsKIAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSFJURkRhdGFiYXNlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxI
UlRGRGF0YWJhc2U+IGNyZWF0ZShkb3VibGUgc2FtcGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9IUlRGRWxldmF0aW9uLmgKaW5kZXggYjM4OGIzNC4uZjQ0NDQ0OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSFJU
RkVsZXZhdGlvbl9oCiAKICNpbmNsdWRlICJIUlRGS2VybmVsLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQzLDcgKzQyLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBIUlRGRWxldmF0aW9uIGNvbnRhaW5zIGFsbCBvZiB0
aGUgSFJURktlcm5lbHMgKG9uZSBsZWZ0IGVhciBhbmQgb25lIHJpZ2h0IGVhciBwZXIgYXppbXV0
aCBhbmdsZSkgZm9yIGEgcGFydGljdWxhciBlbGV2YXRpb24uCiAKLWNsYXNzIEhSVEZFbGV2YXRp
b24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFJURkVsZXZhdGlvbiB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSFJURkVsZXZhdGlvbik7CiBwdWJsaWM6CiAgICAgLy8gTG9hZHMg
YW5kIHJldHVybnMgYW4gSFJURkVsZXZhdGlvbiB3aXRoIHRoZSBnaXZlbiBIUlRGIGRhdGFiYXNl
IHN1YmplY3QgbmFtZSBhbmQgZWxldmF0aW9uIGZyb20gYnJvd3NlciAob3IgV2ViS2l0LmZyYW1l
d29yaykgcmVzb3VyY2VzLgogICAgIC8vIE5vcm1hbGx5LCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBz
aW5nbGUgSFJURiBkYXRhYmFzZSBzZXQsIGJ1dCB0aGlzIEFQSSBzdXBwb3J0cyB0aGUgcG9zc2li
aWxpdHkgb2YgbXVsdGlwbGUgb25lcyB3aXRoIGRpZmZlcmVudCBuYW1lcy4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaCBiL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAppbmRleCAxZDY5OTIxLi5kNWFk
YTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9t
aXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5o
CkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBJbnRQb2lu
dDsKIAogICAgIGNsYXNzIENsaXBib2FyZENocm9taXVtIDogcHVibGljIENsaXBib2FyZCwgcHVi
bGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBA
QCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MK
IC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1z
dHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEo
KQogICAgICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCAyZTRlOTYyLi5mMGMzMGFmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gK
ICNkZWZpbmUgQ29sb3JfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApA
QCAtNzUsNyArNzQsOCBAQCBpbmxpbmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsg
cmV0dXJuIChjb2xvciA+PiA4KSAmIDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdC
QTMyIGNvbG9yKSB7IHJldHVybiBjb2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFu
bmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xh
c3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCks
IG1fdmFsaWQoZmFsc2UpIHsgfQogICAgIENvbG9yKFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wp
LCBtX3ZhbGlkKHRydWUpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Db250ZXh0U2hhZG93LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNo
YWRvdy5jcHAKaW5kZXggODdhMWM1Yy4uMDcyNWE5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ29u
dGV4dFNoYWRvdy5oIgogCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogdXNpbmcgV1RGOjptaW47CiB1c2luZyBXVEY6Om1heDsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAxNDllYTc5Li5jZmNhOTgw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5
IEBAIEZvbnRDYWNoZTo6Rm9udENhY2hlKCkKIHsKIH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURh
dGFDYWNoZUtleSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNo
ZUtleSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgRm9udFBs
YXRmb3JtRGF0YUNhY2hlS2V5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3Ry
aW5nKCksIHVuc2lnbmVkIHNpemUgPSAwLCB1bnNpZ25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxp
YyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzUHJpbnRlckZv
bnQgPSBmYWxzZSwgRm9udFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRl
cmluZ01vZGUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAg
ICAgIDogbV9zaXplKHNpemUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRl
eCBlNjg0NWQ5Li44NmY4YzY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgK
QEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3MgRm9udFNlbGVj
dG9yOwogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnRDYWNoZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBGb250Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZvbnRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGZyaWVu
ZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRh
LmgKaW5kZXggZWU5NGE5OC4uNDMyNzk1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERh
dGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAjZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNp
bXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250RGF0YSgpCiAgICAgICAgIDog
bV9tYXhHbHlwaFBhZ2VUcmVlTGV2ZWwoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ds
eXBoTWV0cmljc01hcC5oCmluZGV4IGZhODViY2MuLjNlMTNmYmIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaApAQCAtNDAsNyArNDAsOCBAQCB0eXBlZGVm
IHVuc2lnbmVkIHNob3J0IEdseXBoOwogCiBjb25zdCBmbG9hdCBjR2x5cGhTaXplVW5rbm93biA9
IC0xOwogCi10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgOiBwdWJsaWMg
Tm9uY29weWFibGUgewordGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHbHlwaE1ldHJpY3NNYXApOwogcHVibGljOgogICAg
IEdseXBoTWV0cmljc01hcCgpIDogbV9maWxsZWRQcmltYXJ5UGFnZShmYWxzZSkgeyB9CiAgICAg
fkdseXBoTWV0cmljc01hcCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuaAppbmRleCA2OWQ5ZTE2Li42NjRkZmJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbnRS
ZWN0LmgiCiAjaW5jbHVkZSAiUGF0aC5oIgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CiAjaWYgUExBVEZPUk0oQ0cpCkBAIC0xNDksNyArMTQ4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBJbnRlcnBvbGF0aW9uSGlnaAogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGlj
c0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JhcGhpY3NDb250ZXh0
KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0Kik7CiAgICAgICAgIH5HcmFwaGljc0NvbnRleHQoKTsK
QEAgLTM1NCw3ICszNTQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0
U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGRJbmNs
dWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7CiAKLSAgICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgeworICAg
ICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93c0JpdG1hcCk7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFdpbmRvd3NCaXRtYXAoSERDLCBJbnRTaXplKTsKICAgICAgICAg
ICAgIH5XaW5kb3dzQml0bWFwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dDNELmgKaW5kZXggYzJkNWMyNC4uN2MwN2JlYiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtMzEsNyArMzEsNiBAQAogCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5
IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9uIGZvciBOT19FUlJPUi4KICNpZiAoKFBMQVRG
T1JNKENIUk9NSVVNKSAmJiBPUyhXSU5ET1dTKSkgfHwgUExBVEZPUk0oV0lOKSB8fCAoUExBVEZP
Uk0oUVQpICYmIE9TKFdJTkRPV1MpKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKaW5kZXggOTI4OGRmNC4uOThkY2M0NyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgK
QEAgLTgzLDcgKzgzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHNoYWRv
d3NJZ25vcmVUcmFuc2Zvcm1zOwogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQ
cml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQ
cml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJp
dmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgR3Jh
cGhpY3NDb250ZXh0UHJpdmF0ZSgpCiAgICAgICAgICAgICA6IG1fdXBkYXRpbmdDb250cm9sVGlu
dHMoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4
IDk5MWNhMzIuLjUzMmQwY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NMYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllci5oCkBAIC0xMDQsNyArMTA0LDggQEAgY2xhc3MgVGltaW5nRnVuY3Rpb247CiAvLyBCYXNl
IGNsYXNzIGZvciBhbmltYXRpb24gdmFsdWVzIChhbHNvIHVzZWQgZm9yIHRyYW5zaXRpb25zKS4g
SGVyZSB0bwogLy8gcmVwcmVzZW50IHZhbHVlcyBmb3IgcHJvcGVydGllcyBiZWluZyBhbmltYXRl
ZCB2aWEgdGhlIEdyYXBoaWNzTGF5ZXIsCiAvLyB3aXRob3V0IHB1bGxpbmcgaW4gc3R5bGUtcmVs
YXRlZCBkYXRhIGZyb20gb3V0c2lkZSBvZiB0aGUgcGxhdGZvcm0gZGlyZWN0b3J5LgotY2xhc3Mg
QW5pbWF0aW9uVmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uVmFs
dWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvblZhbHVlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uVmFsdWUoZmxvYXQga2V5VGlt
ZSwgUGFzc1JlZlB0cjxUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24gPSAwKQogICAgICAg
ICA6IG1fa2V5VGltZShrZXlUaW1lKQpAQCAtMTU2LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAKIC8v
IFVzZWQgdG8gc3RvcmUgYSBzZXJpZXMgb2YgdmFsdWVzIGluIGEga2V5ZnJhbWUgbGlzdC4gVmFs
dWVzIHdpbGwgYWxsIGJlIG9mIHRoZSBzYW1lIHR5cGUsCiAvLyB3aGljaCBjYW4gYmUgaW5mZXJy
ZWQgZnJvbSB0aGUgcHJvcGVydHkuCi1jbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoS2V5ZnJhbWVWYWx1ZUxpc3QpOwogcHVibGljOgogCiAgICAgS2V5ZnJhbWVWYWx1
ZUxpc3QoQW5pbWF0ZWRQcm9wZXJ0eUlEIHByb3BlcnR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZUJ1ZmZlci5oCmluZGV4IDgyMmEwZmYuLjVkNDhhOGMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBVbm11bHRpcGxpZWQKICAgICB9OwogCi0gICAgY2xhc3MgSW1hZ2VCdWZm
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlQnVmZmVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVy
IG9uIGFsbG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VC
dWZmZXI+IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2Ug
PSBDb2xvclNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJj
ZS5oCmluZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlU291cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYs
OCBAQCBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0
aW9uTG9vcEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAot
Y2xhc3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3Vy
Y2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAg
ICBJbWFnZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdh
bW1hQW5kQ29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCAyMzVjMWZkLi44N2ZhOTA2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcg
KzE0Nyw5IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxN
ZWRpYVBsYXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1z
dHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxh
eWVyRmFjdG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJGYWN0
b3J5KENyZWF0ZU1lZGlhRW5naW5lUGxheWVyIGNvbnN0cnVjdG9yLCBNZWRpYUVuZ2luZVN1cHBv
cnRlZFR5cGVzIGdldFN1cHBvcnRlZFR5cGVzLCBNZWRpYUVuZ2luZVN1cHBvcnRzVHlwZSBzdXBw
b3J0c1R5cGVBbmRDb2RlY3MpIAogICAgICAgICA6IGNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKQog
ICAgICAgICAsIGdldFN1cHBvcnRlZFR5cGVzKGdldFN1cHBvcnRlZFR5cGVzKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGE1MDZhNmUuLmY3ZTViNzAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBA
IC0xNDgsNyArMTQ3LDggQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBNZWRpYVBsYXll
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKIAogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyPiBjcmVhdGUoTWVkaWFQ
bGF5ZXJDbGllbnQqIGNsaWVudCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oCmluZGV4IGQ5NTYyODYuLjZhYmUyNTggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMzYsOCArMzYsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW50UmVjdDsKIGNsYXNzIEludFNpemU7CiAKLWNs
YXNzIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZp
cnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgK
aW5kZXggNDIzYTc5Mi4uMzA5YTZjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9QYXRoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4
LDcgKzI4LDYgQEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExB
VEZPUk0oQ0cpCkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0
eXBlZGVmIHZvaWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRo
RWxlbWVudCopOwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICBjbGFzcyBQYXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBQYXRoKCk7CiAgICAgICAgIH5QYXRoKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKaW5kZXggNTg0NzdkYi4uMDZjN2ZlMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaApAQCAt
MzYsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7
CiBjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZUNsaWVudDsKIAotY2xhc3MgVGlsZWRCYWNraW5nU3Rv
cmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGVkQmFja2luZ1N0b3JlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGlsZWRCYWNraW5nU3RvcmUoVGlsZWRCYWNraW5nU3Rv
cmVDbGllbnQqKTsKICAgICB+VGlsZWRCYWNraW5nU3RvcmUoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5k
ZXggZGFjMzFmOC4uNGYzOTRmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAK
ICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9k
ZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIHR5cGVkZWYgc3RydWN0IEZUX0ZhY2VSZWNfKiAgRlRfRmFjZTsKIHR5cGVkZWYgc3Ry
dWN0IF9jYWlyb19mb250X2ZhY2UgY2Fpcm9fZm9udF9mYWNlX3Q7CkBAIC0zNSw3ICszNCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoRlRfRmFjZSwgU2hhcmVkQnVmZmVyKik7CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9y
bURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
R0xFUzJDYW52YXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJD
YW52YXMuaAppbmRleCA2ZmMxYTBlLi44MTlmOTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCkBAIC0zOSw3ICszOSw2IEBACiAjaW5j
bHVkZSAiVGV4dHVyZS5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgR3JhcGhp
Y3NDb250ZXh0M0Q7CiBjbGFzcyBTaGFyZWRHcmFwaGljc0NvbnRleHQzRDsKIAotY2xhc3MgR0xF
UzJDYW52YXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR0xFUzJDYW52YXMgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdMRVMyQ2FudmFzKTsKIHB1YmxpYzoKICAgICBHTEVTMkNh
bnZhcyhTaGFyZWRHcmFwaGljc0NvbnRleHQzRCosIERyYXdpbmdCdWZmZXIqLCBjb25zdCBJbnRT
aXplJik7CiAgICAgfkdMRVMyQ2FudmFzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAppbmRleCA1MzFk
NjUyLi4zYzcxYWM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKQEAgLTQzLDcgKzQzLDYgQEAKICNp
bmNsdWRlICJTa0JpdG1hcC5oIgogI2luY2x1ZGUgIlZpZGVvTGF5ZXJDaHJvbWl1bS5oIgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAppbmRleCAxZjMzNTI3
Li41MjZhODdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJUcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIGNsYXNzIExh
eWVyQ2hyb21pdW07CiAKLWNsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlclN1cmZhY2VDaHJvbWl1bSk7CiAgICAgZnJpZW5kIGNsYXNzIExheWVy
UmVuZGVyZXJDaHJvbWl1bTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJTdXJmYWNlQ2hy
b21pdW0oTGF5ZXJDaHJvbWl1bSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKaW5kZXggYjZiZWY5MS4uMjc1MTI1OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lX
aW4uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5j
eVdpbi5oCkBAIC0zNSw3ICszNSw2IEBACiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIK
ICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5j
bHVkZSAid3RmL093blB0ci5oIgogCiBjbGFzcyBTa0JpdG1hcDsKQEAgLTU0LDcgKzUzLDggQEAg
Y2xhc3MgVHJhbnNwYXJlbmN5V2luX09wYXF1ZUNvbXBvc2l0ZUxheWVyX1Rlc3Q7CiAvLyB0aGF0
IGlzIGNvbXBvc2l0ZWQgbGF0ZXIgbWFudWFsbHkuIFRoaXMgaXMgdG8gZ2V0IGFyb3VuZCBXaW5k
b3dzJyBpbmFiaWxpdHkKIC8vIHRvIGhhbmRsZSB0aGUgYWxwaGEgY2hhbm5lbCwgc2VtaXRyYW5z
cGFyZW50IHRleHQsIGFuZCB0cmFuc2Zvcm1lZCBmb3JtCiAvLyBjb250cm9scy4KLWNsYXNzIFRy
YW5zcGFyZW5jeVdpbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc3BhcmVuY3lX
aW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW5jeVdpbik7CiBwdWJsaWM6
CiAgICAgZW51bSBMYXllck1vZGUgewogICAgICAgICAvLyBObyBleHRyYSBsYXllciBpcyBjcmVh
dGVkLiBEcmF3aW5nIHdpbGwgaGFwcGVuIHRvIHRoZSBzb3VyY2UuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKaW5kZXggOWY3OTg4OS4uZTM1NjU5MiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaApAQCAt
MzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJJbnRT
aXplLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpZiBQTEFURk9STShNQUMpCkBA
IC03Nyw4ICs3NiwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQotICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXaWxsUHVibGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CisgICAgICAgIFdpbGxQdWJs
aXNoQ2FsbGJhY2soKSB7IH0KICAgICAgICAgdmlydHVhbCB+V2lsbFB1Ymxpc2hDYWxsYmFjaygp
IHsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxQdWJsaXNoKCkgPSAwOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3Np
Zmllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oCmluZGV4IGM2NjU4NDQuLjFiZDY3YjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKQEAgLTMwLDE0ICszMCwxNCBAQAog
I2lmbmRlZiBMb29wQmxpbm5DbGFzc2lmaWVyX2gKICNkZWZpbmUgTG9vcEJsaW5uQ2xhc3NpZmll
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBGbG9hdFBvaW50OwogCiAvLyBDbGFzc2lmaWVzIGN1YmljIGN1cnZlcyBpbnRv
IHNwZWNpZmljIHR5cGVzLgotY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb29wQmxpbm5DbGFzc2lmaWVyKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdHlwZXMg
b2YgY3ViaWMgY3VydmVzLgogICAgIGVudW0gQ3VydmVUeXBlIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5o
CmluZGV4IGVhM2Q3ZTMuLmQwMWU2YzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaApAQCAtMzAsMTkg
KzMwLDIwIEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludDNELmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5u
Q29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBQZXJmb3JtcyBhIGxv
Y2FsaXplZCB0cmlhbmd1bGF0aW9uIG9mIHRoZSB0cmlhbmdsZSBtZXNoCiAvLyBjb3JyZXNwb25k
aW5nIHRvIHRoZSBmb3VyIGNvbnRyb2wgcG9pbnQgdmVydGljZXMgb2YgYSBjdWJpYyBjdXJ2ZQog
Ly8gc2VnbWVudC4KLWNsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvcik7CiBwdWJsaWM6CiAg
ICAgLy8gVGhlIHZlcnRpY2VzIHRoYXQgdGhlIHRyaWFuZ3VsYXRvciBvcGVyYXRlcyB1cG9uLCBj
b250YWluaW5nIGJvdGgKICAgICAvLyB0aGUgcG9zaXRpb24gaW5mb3JtYXRpb24gYXMgd2VsbCBh
cyB0aGUgY3ViaWMgdGV4dHVyZQogICAgIC8vIGNvb3JkaW5hdGVzLgotICAgIGNsYXNzIFZlcnRl
eCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVydGV4IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVmVydGV4KTsKICAgICBwdWJsaWM6CiAgICAgICAgIFZlcnRleCgp
CiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlublRleHR1cmVDb29yZHMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlublRleHR1cmVDb29yZHMuaAppbmRleCA1ZmRlYjNiLi5iMjlhOGY1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jk
cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiTG9vcEJsaW5uQ2xhc3NpZmllci5oIgog
I2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0YW50cy5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L1BPREFyZW5hLmgKaW5kZXggZjY4YmFlZi4uNWZlZWYwNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8c3Rk
aW50Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1h
bGxvYy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CkBAIC0xNTgsNyArMTU3LDggQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICAvLyBNYW5h
Z2VzIGEgY2h1bmsgb2YgbWVtb3J5IGFuZCBpbmRpdmlkdWFsIGFsbG9jYXRpb25zIG91dCBvZiBp
dC4KLSAgICBjbGFzcyBDaHVuayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2h1
bmsgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHVuayk7CiAgICAgcHVibGljOgog
ICAgICAgICAvLyBBbGxvY2F0ZXMgYSBibG9jayBvZiBtZW1vcnkgb2YgdGhlIGdpdmVuIHNpemUg
ZnJvbSB0aGUgcGFzc2VkCiAgICAgICAgIC8vIEFsbG9jYXRvci4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmgKaW5kZXggMzIwY2U2MC4uZmExZTI3
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxU
cmVlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVl
LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJQT0RJbnRlcnZhbC5oIgogI2luY2x1ZGUg
IlBPRFJlZEJsYWNrVHJlZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00NCw4ICs0Myw4IEBAIHN0cnVjdCBWYWx1ZVRvU3RyaW5nOwogLy8g
c3VwcG9ydHMgZWZmaWNpZW50IChPKGxnIG4pKSBpbnNlcnRpb24sIHJlbW92YWwgYW5kIHF1ZXJ5
aW5nIG9mCiAvLyBpbnRlcnZhbHMgaW4gdGhlIHRyZWUuCiB0ZW1wbGF0ZTxjbGFzcyBULCBjbGFz
cyBVc2VyRGF0YSA9IHZvaWQqPgotY2xhc3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIE5vbmNv
cHlhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFBPRFJlZEJsYWNrVHJlZTxQ
T0RJbnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7CitjbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJs
aWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQT0RJbnRlcnZhbFRyZWUpOwogcHVibGljOgogICAgIC8vIFR5cGVk
ZWYgdG8gcmVkdWNlIHR5cGluZyB3aGVuIGRlY2xhcmluZyBpbnRlcnZhbHMgdG8gYmUgc3RvcmVk
IGluCiAgICAgLy8gdGhpcyB0cmVlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9QT0RSZWRCbGFja1RyZWUuaAppbmRleCA2ZDU5NTRjLi5iMGQ5MThmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaApAQCAtNzQsNyArNzQs
NiBAQAogCiAjaW5jbHVkZSAiUE9EQXJlbmEuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
ICNpZm5kZWYgTkRFQlVHCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTk4LDcgKzE5Nyw4IEBA
IHByb3RlY3RlZDoKICAgICAvLyBUaGUgYmFzZSBOb2RlIGNsYXNzIHdoaWNoIGlzIHN0b3JlZCBp
biB0aGUgdHJlZS4gTm9kZXMgYXJlIG9ubHkKICAgICAvLyBhbiBpbnRlcm5hbCBjb25jZXB0OyB1
c2VycyBvZiB0aGUgdHJlZSBkZWFsIG9ubHkgd2l0aCB0aGUgZGF0YQogICAgIC8vIHRoZXkgc3Rv
cmUgaW4gaXQuCi0gICAgY2xhc3MgTm9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgTm9kZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgLy8gQ29uc3RydWN0b3IuIE5ld2x5LWNyZWF0ZWQgbm9kZXMgYXJlIGNvbG9y
ZWQgcmVkLgogICAgICAgICBleHBsaWNpdCBOb2RlKGNvbnN0IFQmIGRhdGEpCkBAIC02NTksNyAr
NjU5LDggQEAgcHJpdmF0ZToKICAgICAvLyBIZWxwZXIgY2xhc3MgZm9yIHNpemUoKQogCiAgICAg
Ly8gQSBWaXNpdG9yIHdoaWNoIHNpbXBseSBjb3VudHMgdGhlIG51bWJlciBvZiB2aXNpdGVkIGVs
ZW1lbnRzLgotICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciwgcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDb3VudGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIENvdW50
ZXIoKQogICAgICAgICAgICAgOiBtX2NvdW50KDApIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9TaGFkZXIuaAppbmRleCBlNWJkOGRlLi5iNTY2MGZmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9TaGFkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBTaGFkZXJfaAog
I2RlZmluZSBTaGFkZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzks
OCBAQCBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIGNs
YXNzIENvbG9yOwogCi1jbGFzcyBTaGFkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2hhZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFkZXIpOwogcHJvdGVjdGVkOgog
ICAgIFNoYWRlcihHcmFwaGljc0NvbnRleHQzRCosIHVuc2lnbmVkIHByb2dyYW0pOwogICAgIH5T
aGFkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGlu
Z0RhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAppbmRl
eCAxYmRjNTFhLi5kY2E4YWI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9UaWxpbmdEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGls
aW5nRGF0YS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGlsaW5nRGF0YV9oCiAjZGVm
aW5lIFRpbGluZ0RhdGFfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgSW50UmVjdDsKIAotY2xh
c3MgVGlsaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxpbmdEYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxpbmdEYXRhKTsKIHB1YmxpYzoKICAgICBUaWxp
bmdEYXRhKGludCBtYXhUZXh0dXJlU2l6ZSwgaW50IHRvdGFsU2l6ZVgsIGludCB0b3RhbFNpemVZ
LCBib29sIGhhc0JvcmRlclRleGVscyk7CiAgICAgaW50IG1heFRleHR1cmVTaXplKCkgY29uc3Qg
eyByZXR1cm4gbV9tYXhUZXh0dXJlU2l6ZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5j
cHAKaW5kZXggNjM1ZmVmZi4uYmY2MGFiZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIu
Y3BwCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiR093blB0ci5oIgogI2luY2x1ZGUgIkdS
ZWZQdHIuaCIKICNpbmNsdWRlICJOZXR3b3JraW5nQ29udGV4dC5oIgotI2luY2x1ZGUgIk5vbmNv
cHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAg
LTM2LDcgKzM1LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLWNsYXNzIFN0cmVh
bWluZ0NsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xp
ZW50IHsKK2NsYXNzIFN0cmVhbWluZ0NsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyZWFtaW5nQ2xpZW50KTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFN0cmVhbWluZ0NsaWVudChXZWJLaXRXZWJTcmMqKTsKICAgICAgICAgdmly
dHVhbCB+U3RyZWFtaW5nQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNjMzQ4ZTMuLjg2
Zjk5YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3Uv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCwxNCArMjQsMTQgQEAKICNpbmNsdWRlICJG
b250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiAgICAgY2xhc3Mg
U2hhcmVkQnVmZmVyOwogCi0gICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25j
b3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICAgICAgfkZvbnRDdXN0
b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjMTE4NThjLi5kODE1MTYxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUu
aCIKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9DRkJhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBlZGVmIHN0cnVjdCBD
R0ZvbnQqIENHRm9udFJlZjsKIHR5cGVkZWYgVUludDMyIEFUU0ZvbnRDb250YWluZXJSZWY7CkBA
IC0zNiw3ICszNSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURh
dGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAg
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXIsIENH
Rm9udFJlZiBjZ0ZvbnQpCiAgICAgICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKQogICAg
ICAgICAsIG1fY2dGb250KGNnRm9udCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCAyNGZkOGEwLi44M2M4ZjVhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC0yNSw3
ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxhdGZv
cm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFp
bnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7CiAg
ICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li5lZTcy
MDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNl
T3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9w
ZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQy
LDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3VsZCBtYWtl
IGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxlbWVudGF0
aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7CiAgICAg
ICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCA2YzQx
ZDQ3Li5kNWYzMjQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRC
dWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgewor
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKKyAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgfkZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoKTsKIAogICAgIC8vIGZvciB1c2Ugd2l0aCBRRm9udERhdGFiYXNlOjphZGRBcHBs
aWNhdGlvbkZvbnQvcmVtb3ZlQXBwbGljYXRpb25Gb250CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IDFjNTdlMjkuLmYyNjgzNzAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCkBA
IC0zMiw3ICszMiw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRm9udFBsYXRm
b3JtRGF0YVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFBsYXRmb3Jt
RGF0YVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRQbGF0Zm9ybURhdGFQ
cml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9udFBsYXRm
b3JtRGF0YVByaXZhdGUoKQogICAgICAgICA6IHJlZkNvdW50KDEpCkBAIC02Miw4ICs2MywxMCBA
QCBwdWJsaWM6CiAKIAogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgRm9udFBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXgg
YmJiY2VkYi4uZDMwNjZmMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE3Niw3ICsxNzYsOCBAQCBzdGF0aWMgaW5saW5l
IFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6
Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBHcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGUoUVBhaW50ZXIqLCBjb25zdCBRQ29sb3ImIGluaXRpYWxTb2xp
ZENvbG9yKTsKICAgICB+R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKaW5kZXggNmJk
ZmIzOS4uOWZhZDdlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9U
cmFuc3BhcmVuY3lMYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJh
bnNwYXJlbmN5TGF5ZXIuaApAQCAtNDIsNyArNDIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0cnVjdCBUcmFuc3BhcmVuY3lMYXllciA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFRy
YW5zcGFyZW5jeUxheWVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBUcmFuc3BhcmVuY3lMYXllcihjb25zdCBRUGFpbnRlciogcCwgY29uc3QgUVJlY3QgJnJl
Y3QsIHFyZWFsIG9wYWNpdHksIFFQaXhtYXAmIGFscGhhTWFzaykKICAgICAgICAgOiBwaXhtYXAo
cmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKQogICAgICAgICAsIG9wYWNpdHkob3BhY2l0eSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IGU1MWI2YjYuLjA4M2U1OGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAt
MzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZv
bnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRPV1MpCiAjaW5jbHVkZSAiUGxhdGZvcm1T
dHJpbmcuaCIKQEAgLTQ5LDcgKzQ4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7Citw
dWJsaWM6CiAjaWYgT1MoV0lORE9XUykKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEhBTkRM
RSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIDogbV9mb250UmVm
ZXJlbmNlKGZvbnRSZWZlcmVuY2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKaW5kZXgg
NWUxMmFkNi4uNDQ4MzVhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaApAQCAtMzEs
MTQgKzMxLDE0IEBACiAjaWZuZGVmIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZV9oCiAj
ZGVmaW5lIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZV9oCiAKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYTsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBUaGlzIGNsYXNzIGp1c3QgaG9sZHMgb250byBhIFBsYXRmb3JtQ29u
dGV4dFNraWEgZm9yIEdyYXBoaWNzQ29udGV4dC4KLWNsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRm
b3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlKFBsYXRmb3JtQ29udGV4dFNraWEqIHBsYXRmb3JtQ29udGV4dCkKICAgICAgICAgOiBt
X2NvbnRleHQocGxhdGZvcm1Db250ZXh0KSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCmluZGV4IDExYjMxMWEuLjMxYjYx
OTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3Jt
Q29udGV4dFNraWEuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBQbGF0Zm9ybUNvbnRleHRT
a2lhX2gKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIk5vbmNvcHlh
YmxlLmgiCiAKICNpbmNsdWRlICJTa0Rhc2hQYXRoRWZmZWN0LmgiCiAjaW5jbHVkZSAiU2tEcmF3
TG9vcGVyLmgiCkBAIC02Nyw3ICs2Niw4IEBAIGNsYXNzIFRleHR1cmU7CiAvLyByZXNwb25zaWJs
ZSBmb3IgbWFuYWdpbmcgdGhlIHBhaW50aW5nIHN0YXRlIHdoaWNoIGlzIHN0b3JlIGluIHNlcGFy
YXRlCiAvLyBTa1BhaW50IG9iamVjdHMuIFRoaXMgY2xhc3MgcHJvdmlkZXMgdGhlIGFkYXB0b3Ig
dGhhdCBhbGxvd3MgdGhlIHBhaW50aW5nCiAvLyBzdGF0ZSB0byBiZSBwdXNoZWQgYW5kIHBvcHBl
ZCBhbG9uZyB3aXRoIHRoZSBiaXRtYXAuCi1jbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsYXRmb3JtQ29udGV4dFNraWEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBsYXRmb3JtQ29udGV4dFNraWEpOwogcHVibGljOgogICAgIC8vIEZv
ciBwcmludGluZywgdGhlcmUgc2hvdWxkbid0IGJlIGFueSBjYW52YXMuIGNhbnZhcyBjYW4gYmUg
TlVMTC4gSWYgeW91CiAgICAgLy8gc3VwcGx5IGEgTlVMTCBjYW52YXMsIHlvdSBjYW4gYWxzbyBj
YWxsIHNldENhbnZhcyBsYXRlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaAppbmRleCBiYWVlMTAyLi44ZDJmODc0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJh
bnNmb3JtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmlu
ZVRyYW5zZm9ybS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKIAogI2luY2x1ZGUgPHN0cmluZy5oPiAvLyBmb3IgbWVtY3B5Ci0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogI2lmIFBMQVRGT1JNKENHKQogI2luY2x1ZGUgPENvcmVH
cmFwaGljcy9DR0FmZmluZVRyYW5zZm9ybS5oPgpAQCAtNTUsNyArNTQsOCBAQCBjbGFzcyBJbnRQ
b2ludDsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKIAotY2xh
c3MgQWZmaW5lVHJhbnNmb3JtIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQWZmaW5l
VHJhbnNmb3JtIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0
eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMw
ZGEzNzcuLjk4MWUxZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUcmFuc2Zvcm1PcGVyYXRpb25zKGJv
b2wgbWFrZUlkZW50aXR5ID0gZmFsc2UpOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAppbmRl
eCA5NmI0YmFhLi4xYmIwNjVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2lu
Y2x1ZGUgPHN0cmluZy5oPiAvL2ZvciBtZW1jcHkKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFz
ZS5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWZmaW5l
VHJhbnNmb3JtLmg+CkBAIC02Miw3ICs2MSw4IEBAIGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNsYXNz
IEZsb2F0UmVjdDsKIGNsYXNzIEZsb2F0UXVhZDsKIAotY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRy
aXggOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBkb3Vi
bGUgTWF0cml4NFs0XVs0XTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDFiZGYyNzAuLjE2MjhlZWIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9k
ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250
KiBDR0ZvbnRSZWY7CiAKQEAgLTM0LDcgKzMzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVy
ZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250
UmVmZXJlbmNlKQogICAgICAgICAsIG1fbmFtZShuYW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaApp
bmRleCAzYWI1MmI4Li4wNjk5MWM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaApAQCAtMjQsNyAr
MjQsNiBAQAogCiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPGNhaXJv
Lmg+CiAKQEAgLTMzLDcgKzMyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBs
YXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJs
aWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjYWlyb19mb250X2ZhY2VfdCogZm9udEZh
Y2UpCiAgICAgICAgIDogbV9mb250RmFjZShmb250RmFjZSkKICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKaW5kZXggYzIx
NjE0MC4uNTk1MWU0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
TG9jYWxXaW5kb3dzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0xvY2FsV2luZG93c0NvbnRleHQuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIExvY2FsV2luZG93c0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TG9jYWxXaW5kb3dzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxXaW5kb3dzQ29udGV4dChH
cmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCwgYm9v
bCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRydWUsIGJvb2wgbWF5Q3JlYXRlQml0bWFwID0gdHJ1ZSkK
ICAgICAgICAgOiBtX2dyYXBoaWNzQ29udGV4dChncmFwaGljc0NvbnRleHQpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCmluZGV4IGVmYWYyMTguLmZlNjBjOGYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCkBAIC0zNCw3ICszNCw2
IEBACiAjaW5jbHVkZSA8UVRNTC5oPgogI2luY2x1ZGUgPFF1aWNrVGltZUNvbXBvbmVudHMuaD4K
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTYz
LDcgKzYyLDggQEAgdW5pb24gVXBwUGFyYW0gewogc3RhdGljIFZlY3RvcjxDRlN0cmluZ1JlZj4q
IGdTdXBwb3J0ZWRUeXBlcyA9IDA7CiBzdGF0aWMgU0ludDMyIHF1aWNrVGltZVZlcnNpb24gPSAw
OwogCi1jbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFFU
TW92aWVUYXNrQ2xpZW50IHsKK2NsYXNzIFFUTW92aWVQcml2YXRlIDogcHVibGljIFFUTW92aWVU
YXNrQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVE1vdmllUHJpdmF0ZSk7CiBw
dWJsaWM6CiAgICAgUVRNb3ZpZVByaXZhdGUoKTsKICAgICB+UVRNb3ZpZVByaXZhdGUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAKaW5kZXgg
ZTEzZjczMi4uMjY4NjEyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vUVRNb3ZpZUdXb3JsZC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
UVRNb3ZpZUdXb3JsZC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxRdWlja1RpbWVD
b21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vUVRUcmFjay5jcHAKaW5kZXggMDkxNDJiYy4uYmY4MGE4MSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKQEAgLTMxLDcgKzMxLDggQEAKIAogdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAotY2xhc3MgUVRUcmFja1ByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUVRUcmFja1ByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFFU
VHJhY2tQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVFRyYWNrUHJpdmF0ZSgpOwogICAgIH5RVFRy
YWNrUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
V0tDQUNGQ29udGV4dEZsdXNoZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dL
Q0FDRkNvbnRleHRGbHVzaGVyLmgKaW5kZXggMTdlYzQxZC4uMWU5OTBhMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCkBA
IC0yOCw3ICsyOCw2IEBACiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAK
QEAgLTM2LDcgKzM1LDggQEAgc3RydWN0IFdLQ0FDRkNvbnRleHQ7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgV0tDQUNGQ29udGV4dEZsdXNoZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgV0tDQUNGQ29udGV4dEZsdXNoZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdLQ0FDRkNvbnRleHRGbHVzaGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV0tDQUNGQ29udGV4
dEZsdXNoZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKaW5kZXggNzYzZmZmYS4uYTE2NmU4MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIu
aApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV0tDQUNG
TGF5ZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC01Niw3ICs1NSw4IEBA
IHB1YmxpYzoKIC8vIEZJWE1FOiBDdXJyZW50bHkgdGhlcmUgaXMgYSBXS0NBQ0ZMYXllclJlbmRl
cmVyIGZvciBlYWNoIFdlYlZpZXcgYW5kIGVhY2gKIC8vIGhhcyBpdHMgb3duIENBUmVuZGVyT0dM
Q29udGV4dCBhbmQgRGlyZWN0M0REZXZpY2U5LCB3aGljaCBpcyBpbmVmZmljaWVudC4KIC8vICho
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4NTUpCi1jbGFzcyBXS0NB
Q0ZMYXllclJlbmRlcmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkxheWVy
UmVuZGVyZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdLQ0FDRkxheWVyUmVuZGVyZXIp
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdLQ0FDRkxheWVyUmVuZGVyZXI+IGNy
ZWF0ZShXS0NBQ0ZMYXllclJlbmRlcmVyQ2xpZW50Kik7CiAgICAgfldLQ0FDRkxheWVyUmVuZGVy
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggYWJkYzBmMi4uZjIyNzZhYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzcsNyArMzYsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB1bnJlZ2lzdGVyRm9udChjb25zdCBTdHJpbmcmIGZvbnROYW1lKSA9IDA7CiAgICAgfTsKIAot
ICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgICAgIDogbV9uYW1l
KG5hbWUpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggZTczYTdiMi4uOTg2MjdkNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTI4
LDcgKzI4LDYgQEAKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGb250
T3JpZW50YXRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KIAogdHlwZWRl
ZiBzdHJ1Y3QgdGFnVEVYVE1FVFJJQ1cgVEVYVE1FVFJJQzsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKaW5kZXgg
YTUyNjU4Zi4uZmJlMWEyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKQEAgLTQzOSw3ICs0MzksOCBAQCBz
dGF0aWMgdm9pZCByb3RhdGVCaXRtYXAoU2hhcmVkQml0bWFwKiBkZXN0Qm1wLCBjb25zdCBTaGFy
ZWRCaXRtYXAqIHNvdXJjZUJtcCwgYwogICAgICAgICBfcm90YXRlQml0bWFwPHVuc2lnbmVkLCBm
YWxzZT4oZGVzdEJtcCwgc291cmNlQm1wLCB0cmFuc2Zvcm0pOwogfQogCi1jbGFzcyBUcmFuc3Bh
cmVudExheWVyREMgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc3BhcmVudExheWVyREMgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW50TGF5ZXJEQyk7CiBwdWJsaWM6CiAg
ICAgVHJhbnNwYXJlbnRMYXllckRDKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSogZGF0
YSwgSW50UmVjdCYgb3JpZ1JlY3QsIGNvbnN0IEludFJlY3QqIHJlY3RCZWZvcmVUcmFuc2Zvcm0g
PSAwLCBpbnQgYWxwaGEgPSAyNTUsIGJvb2wgcGFpbnRJbWFnZSA9IGZhbHNlKTsKICAgICB+VHJh
bnNwYXJlbnRMYXllckRDKCk7CkBAIC01NTksNyArNTYwLDggQEAgdm9pZCBUcmFuc3BhcmVudExh
eWVyREM6OmZpbGxBbHBoYUNoYW5uZWwoKQogICAgIH0KIH0KIAotY2xhc3MgU2NvcGVEQ1Byb3Zp
ZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgU2NvcGVEQ1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY29wZURDUHJvdmlkZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNj
b3BlRENQcm92aWRlcihHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEpCiAgICAg
ICAgIDogbV9kYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNjMzQ4ZTMuLjg2Zjk5YjIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNCwxNCArMjQsMTQgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIK
ICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCi0g
ICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKaW5kZXggZTE0YTU4My4uMGMwN2MwNyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9y
IGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICAvLyBDcmVhdGVkIGZyb20gdGhlIEV2
ZW50SGFuZGxlckd0ayB0byBiZSB1c2VkIGJ5IHRoZSBkb20KICAgICBjbGFzcyBDbGlwYm9hcmRH
dGsgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPENsaXBib2FyZEd0az4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBw
b2xpY3ksIEd0a0NsaXBib2FyZCogY2xpcGJvYXJkLCBGcmFtZSogZnJhbWUpCiAgICAgICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCmluZGV4
IGYyMDlkZGEuLjY3MDkxNWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9JbWFnZURlY29kZXIuaApAQCAtMjIxLDcgKzIyMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAvLyBzZXRNYXhOdW1QaXhlbHMoKSB0byBzcGVjaWZ5IHRoZSBiaWdnZXN0IHNpemUgdGhh
dCBkZWNvZGVkIGltYWdlcyBjYW4KICAgICAvLyBoYXZlLiBJbWFnZSBkZWNvZGVycyB3aWxsIGRl
ZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQgYXJlIGJpZ2dlciB0aGFuCiAgICAgLy8gbV9tYXhOdW1Q
aXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5IGFsbCBpbWFnZSBkZWNvZGVycyB5ZXQpCi0gICAgY2xh
c3MgSW1hZ2VEZWNvZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZURl
Y29kZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZURlY29kZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihi
b29sIHByZW11bHRpcGx5QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAg
ICAgICAgICAgICA6IG1fc2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aAppbmRleCA3MTg3ZWNmLi4zOWVhZGRhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9DbGlwYm9hcmRNYWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFz
cyBDbGlwYm9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPENsaXBib2FyZE1hYz4gY3JlYXRlKENsaXBib2FyZFR5cGUgY2xpcGJvYXJk
VHlwZSwgTlNQYXN0ZWJvYXJkICpwYXN0ZWJvYXJkLCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9s
aWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9M
b2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaAppbmRleCA5MGJlYjQwLi5iOTkwZDc0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQu
aApAQCAtMTcsNyArMTcsNiBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8K
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWZkZWYgX19PQkpDX18KIEBjbGFz
cyBOU0dyYXBoaWNzQ29udGV4dDsKQEAgLTMxLDcgKzMwLDggQEAgY2xhc3MgR3JhcGhpY3NDb250
ZXh0OwogICAgIAogLy8gVGhpcyBjbGFzcyBhdXRvbWF0aWNhbGx5IHNhdmVzIGFuZCByZXN0b3Jl
cyB0aGUgY3VycmVudCBOU0dyYXBoaWNzQ29udGV4dCBmb3IKIC8vIGZ1bmN0aW9ucyB3aGljaCBj
YWxsIG91dCBpbnRvIEFwcEtpdCBhbmQgcmVseSBvbiB0aGUgY3VycmVudENvbnRleHQgYmVpbmcg
c2V0Ci1jbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQpOwogcHVibGljOgogICAgIExv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4
dCk7CiAgICAgfkxvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0gYi9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TaGFyZWRUaW1lck1hYy5tbQppbmRleCBjYzlmZjE3Li40NDZiZGFjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbQorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbQpAQCAtMjksNyArMjksNiBAQAogI2ltcG9ydCA8SU9L
aXQvSU9NZXNzYWdlLmg+CiAjaW1wb3J0IDxJT0tpdC9wd3JfbWd0L0lPUE1MaWIuaD4KICNpbXBv
cnQgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW1wb3J0IDx3dGYvTm9uY29weWFibGUuaD4KICNpbXBv
cnQgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW1wb3J0IDx3dGYvVW51c2VkUGFyYW0uaD4KIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAppbmRleCAxZmY2MzQ0Li5jMWY1NTIyIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaApAQCAtMTQ1LDYgKzE0NSw3IEBAIHByaXZhdGU6CiB0
eXBlZGVmIFZlY3RvcjxCbG9iRGF0YUl0ZW0+IEJsb2JEYXRhSXRlbUxpc3Q7CiAKIGNsYXNzIEJs
b2JEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxCbG9iRGF0YT4gY3JlYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAppbmRleCA4N2QwZWYzLi4xMTJlMzE1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCkBAIC0yMywxNCArMjMsMTQgQEAK
IAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBEb2N1bWVudDsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9ybURhdGFCdWls
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvcm1EYXRhQnVpbGRlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRm9ybURhdGFCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgVGV4dEVuY29kaW5nIGVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQoY29uc3QgU3RyaW5nJiBh
Y2NlcHRDaGFyc2V0LCBEb2N1bWVudCogZG9jdW1lbnQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCmluZGV4IGQxZjJkYjQuLmZlYTQzOTRk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZp
ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVm
aW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFz
cyBOZXR3b3JrU3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3
b3JrU3RhdGVOb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRl
Tm90aWZpZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBOZXR3b3Jr
U3RhdGVOb3RpZmllcigpOwogICAgIHZvaWQgc2V0TmV0d29ya1N0YXRlQ2hhbmdlZEZ1bmN0aW9u
KHZvaWQgKCopKCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZUludGVybmFsLmgKaW5kZXggOWNjY2VjZC4uYzI5OWNlNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCkBAIC04MCw3ICs4MCw4
IEBAIGNsYXNzIE5TVVJMQ29ubmVjdGlvbjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBSZXNvdXJjZUhhbmRsZUNsaWVudDsKIAotICAgIGNsYXNzIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUhhbmRsZUludGVybmFs
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZXNvdXJj
ZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGMsIGJvb2wgZGVmZXJzTG9hZGlu
ZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAgICAgICA6IG1fY2xpZW50KGMpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRleCAz
M2ExODRlLi5mNzk1ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlcXVlc3RCYXNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICAvLyBEbyBub3Qg
dXNlIHRoaXMgdHlwZSBkaXJlY3RseS4gIFVzZSBSZXNvdXJjZVJlcXVlc3QgaW5zdGVhZC4KLSAg
ICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAg
IGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VS
ZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAg
ZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNv
bXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVz
dCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAot
ICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFi
bGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRh
QmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKKyAgICAgICAgQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSgpIHsgfQogICAgICAgICBLVVJMIG1fdXJs
OwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IG1fY2FjaGVQb2xpY3k7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4
IDljNTRiYWIuLmUwNzc0YzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YTsKIAogLy8gRG8gbm90
IHVzZSB0aGlzIGNsYXNzIGRpcmVjdGx5LCB1c2UgdGhlIGNsYXNzIFJlc3BvbnNlUmVzcG9uc2Ug
aW5zdGVhZAotY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8UmVzb3VyY2VSZXNwb25zZT4g
YWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhPik7CiAKQEAg
LTE3NSw3ICsxNzYsMTAgQEAgcHJpdmF0ZToKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYikgeyByZXR1cm4g
UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbXBhcmUoYSwgYik7IH0KIGlubGluZSBib29sIG9wZXJh
dG9yIT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
YikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLXN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVz
cG9uc2VEYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVzcG9uc2VEYXRhQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UpOworcHVibGljOgorICAgIENyb3NzVGhyZWFkUmVzb3Vy
Y2VSZXNwb25zZURhdGFCYXNlKCkgeyB9CiAgICAgS1VSTCBtX3VybDsKICAgICBTdHJpbmcgbV9t
aW1lVHlwZTsKICAgICBsb25nIGxvbmcgbV9leHBlY3RlZENvbnRlbnRMZW5ndGg7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApp
bmRleCBhM2ZmZWIyLi5jOGJiN2Y4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5MgogCi1jbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3RvcjxjaGFyPiYpOwog
ICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKaW5kZXggMzhkOWNkMS4uZjUwNTQw
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAKQEAgLTc2LDcgKzc2LDggQEAgc3RhdGljIFN0cmluZyBxdWVyeUhUVFBIZWFkZXIo
SElOVEVSTkVUIHJlcXVlc3RIYW5kbGUsIERXT1JEIGluZm9MZXZlbCkKIH0KIAogCi1jbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+JiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAppbmRleCA1YWNhMWE2Li5mYjVhYmVmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcg
YW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICBjbGFzcyBDbGlwYm9hcmRRdCA6IHB1YmxpYyBD
bGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBR
TWltZURhdGEqIHJlYWRhYmxlQ2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBT
UUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4g
Y29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJh
bnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0NGYwZS4uZmQxYWJmYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgU1FMaXRlU3RhdGVtZW50KFNRTGl0ZURhdGFiYXNlJiwgY29uc3QgU3RyaW5n
Jik7CiAgICAgflNRTGl0ZVN0YXRlbWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRy
YW5zYWN0aW9uLmgKaW5kZXggOTI0MjQxZi4uOWUzM2NmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVUcmFuc2FjdGlvbi5oCkBAIC0yNiwxNCArMjYsMTMgQEAKICNpZm5kZWYgU1FMaXRl
VHJhbnNhY3Rpb25faAogI2RlZmluZSBTUUxpdGVUcmFuc2FjdGlvbl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxpdGVE
YXRhYmFzZTsKIAotY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUK
LXsKK2NsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
UUxpdGVUcmFuc2FjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFNRTGl0ZVRyYW5zYWN0aW9uKFNRTGl0ZURhdGFiYXNlJiBkYiwgYm9vbCByZWFkT25seSA9IGZh
bHNlKTsKICAgICB+U1FMaXRlVHJhbnNhY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVz
b2x2ZXIuaAppbmRleCAxZjg3MTE1Li4wNTZlZDcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvQmlkaVJlc29sdmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlS
ZXNvbHZlci5oCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIEJpZGlSZXNvbHZlcl9oCiAKICNp
bmNsdWRlICJCaWRpQ29udGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0x
MjYsNyArMTI1LDggQEAgc3RydWN0IEJpZGlDaGFyYWN0ZXJSdW4gewogICAgIEJpZGlDaGFyYWN0
ZXJSdW4qIG1fbmV4dDsKIH07CiAKLXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVu
PiBjbGFzcyBCaWRpUmVzb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPGNs
YXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQmlkaVJlc29sdmVyKTsKIHB1YmxpYyA6CiAgICAgQmlkaVJlc29sdmVy
KCkKICAgICAgICAgOiBtX2RpcmVjdGlvbihXVEY6OlVuaWNvZGU6Ok90aGVyTmV1dHJhbCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKaW5kZXggZjE2MTFlNS4uNTM2
ZWQ0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9u
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKQEAgLTMw
LDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWd1bGFyRXhwcmVz
c2lvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlZ3VsYXJFeHByZXNzaW9uIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVz
c2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4
cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xMmNm
NjQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNp
bmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1
NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFi
bGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgorICAgICAgICBUZXh0Q29kZWMoKSB7IH0KICAgICAgICAgdmlydHVhbCB+VGV4dENvZGVjKCk7
CiAKICAgICAgICAgU3RyaW5nIGRlY29kZShjb25zdCBjaGFyKiBzdHIsIHNpemVfdCBsZW5ndGgs
IGJvb2wgZmx1c2ggPSBmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90
cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNj
b2Rlci9Gb250VHJhbnNjb2Rlci5oCmluZGV4IDY3ZGI5NzcuLmJmZmY5M2UgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaApAQCAtMzIs
NyArMzIsNiBAQAogI2RlZmluZSBGb250VHJhbnNjb2Rlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzks
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250RGVzY3JpcHRpb247CiBjbGFzcyBU
ZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvbnRUcmFuc2NvZGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEZvbnRUcmFuc2NvZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250
VHJhbnNjb2Rlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZvaWQg
Y29udmVydChTdHJpbmcmIHRleHQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRF
bmNvZGluZyogPSAwKSBjb25zdDsKICAgICBib29sIG5lZWRzVHJhbnNjb2RpbmcoY29uc3QgRm9u
dERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9DbGlwYm9hcmRXaW4uaAppbmRleCBjZTY0Yjg1Li43NzlkYTI2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9DbGlwYm9hcmRXaW4uaApAQCAtNDEsNiArNDEsNyBAQCBjbGFzcyBXQ0RhdGFPYmplY3Q7
CiAKIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcgYW5kIGRy
b3AgYW5kIGNvcHkvcGFzdGUKIGNsYXNzIENsaXBib2FyZFdpbiA6IHB1YmxpYyBDbGlwYm9hcmQs
IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUo
Q2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xp
cGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZl
Ny4uZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2Fn
ZUJyb2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJy
b2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVu
ZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGlj
OgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlz
dGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93
TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0
YWJhc2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYu
LmM0MTJjMDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisr
KyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFj
a2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5E
YXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2Ug
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGx1Z2luRGF0YWJhc2UoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIu
aCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKaW5kZXggNjEw
ZTg5Yy4uMjliYzRlNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJl
YWRTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVk
dWxlci5oCkBAIC0zNiw3ICszNiw4IEBAIHR5cGVkZWYgTlBQX3QqIE5QUDsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZvaWQgTWFpblRocmVhZEZ1bmN0aW9u
KHZvaWQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggZGVhZWM5OS4uYTk5YjZlYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luVmlldy5oCkBAIC05Myw3ICs5Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgUGx1Z2luU3RhdHVzTG9hZGVkU3VjY2Vzc2Z1bGx5CiAgICAgfTsKIAotICAgIGNsYXNzIFBs
dWdpblJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBsdWdpblJlcXVl
c3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5SZXF1ZXN0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNv
bnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNh
dGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91bGRBbGxvd1BvcHVwcykKICAgICAgICAg
ICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5J
bmZvLmgKaW5kZXggNWU2ZjYxOS4uZDc3ZDZjYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvQ29sdW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAt
MzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIENvbHVtbkluZm8oKQogICAgICAgICA6IG1fZGVzaXJlZENvbHVtbldpZHRoKDApCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvQ291bnRlck5vZGUuaAppbmRleCA1MjlkNDA5Li41NTVlODFhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNkZWZpbmUgQ291bnRlck5vZGVfaAogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiAvLyBUaGlzIGltcGxlbWVudHMgYSBjb3VudGVy
IHRyZWUgdGhhdCBpcyB1c2VkIGZvciBmaW5kaW5nIHBhcmVudHMgaW4gY291bnRlcnMoKSBsb29r
dXAsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAppbmRleCBjY2EzZTQyLi5iYmE2MDFlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL0xheW91dFN0YXRlLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkludFJlY3Qu
aCIKICNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBjbGFzcyBSZW5kZXJBcmVu
YTsKIGNsYXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgTGF5b3V0
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5b3V0U3RhdGUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlKTsKIHB1YmxpYzoKICAgICBMYXlvdXRTdGF0
ZSgpCiAgICAgICAgIDogbV9jbGlwcGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQXJlbmEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKaW5k
ZXggMzIxMzlmYi4uNzg3YTY4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QXJlbmEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCkBAIC0zNiwxMyAr
MzYsMTMgQEAKICNkZWZpbmUgUmVuZGVyQXJlbmFfaAogCiAjaW5jbHVkZSAiQXJlbmEuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0
aWMgY29uc3Qgc2l6ZV90IGdNYXhSZWN5Y2xlZFNpemUgPSA0MDA7CiAKLWNsYXNzIFJlbmRlckFy
ZW5hIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckFyZW5hIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZW5kZXJBcmVuYSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFJlbmRlckFyZW5hKHVuc2lnbmVkIGFyZW5hU2l6ZSA9IDQwOTYpOwogICAg
IH5SZW5kZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggNTE1MzIxOC4uYTA2
Y2Q4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNTQsNyArMzU0LDkgQEAgcHJpdmF0
ZToKICAgICAgICAgYm9vbCBldmVySGFkTGF5b3V0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRmxv
YXRpbmdPYmplY3QgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmxvYXRpbmdPYmplY3QpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVz
ZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBi
b3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBG
bG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBAIC02ODEsNyArNjgzLDkgQEAgcHJp
dmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9jb250aW51YXRpb247CiAgICAgCiAg
ICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1k
ZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFi
bGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworICAgIHB1YmxpYzoKICAgICAgICAgUmVuZGVyQmxvY2tSYXJlRGF0YShjb25zdCBSZW5kZXJC
bG9jayogYmxvY2spIAogICAgICAgICAgICAgOiBtX21hcmdpbnMocG9zaXRpdmVNYXJnaW5CZWZv
cmVEZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5CZWZvcmVEZWZhdWx0KGJsb2NrKSwgcG9z
aXRpdmVNYXJnaW5BZnRlckRlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkFmdGVyRGVmYXVs
dChibG9jaykpCiAgICAgICAgICAgICAsIG1fcGFnaW5hdGlvblN0cnV0KDApCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggYmQxOTE2NS4uNmI3ZjE5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtNTMsNyAr
NTMsOCBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCA9IDAu
NTAwOyAvLyA1MDAgbXMKIHR5cGVkZWYgcGFpcjxSZW5kZXJCb3hNb2RlbE9iamVjdCosIGNvbnN0
IHZvaWQqPiBMYXN0UGFpbnRTaXplTWFwS2V5OwogdHlwZWRlZiBIYXNoTWFwPExhc3RQYWludFNp
emVNYXBLZXksIEludFNpemU+IExhc3RQYWludFNpemVNYXA7CiAKLWNsYXNzIEltYWdlUXVhbGl0
eUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VRdWFsaXR5Q29u
dHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VRdWFsaXR5Q29udHJvbGxl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEltYWdlUXVhbGl0eUNv
bnRyb2xsZXIoKTsKICAgICBib29sIHNob3VsZFBhaW50QXRMb3dRdWFsaXR5KEdyYXBoaWNzQ29u
dGV4dCosIFJlbmRlckJveE1vZGVsT2JqZWN0KiwgSW1hZ2UqLCBjb25zdCB2b2lkKiBsYXllciwg
Y29uc3QgSW50U2l6ZSYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJh
bWVTZXQuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggZDBhYjM0
Ni4uMWU1MTFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03Myw3ICs3Myw4
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7
CiAKLSAgICBjbGFzcyBHcmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
R3JpZEF4aXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmlkQXhpcyk7CiAgICAg
cHVibGljOgogICAgICAgICBHcmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCmluZGV4IDIzNDY3MTIuLmEyMGM1
NWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKQEAgLTI5LDEzICsy
OSwxMyBAQAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGUuaCIKICNpbmNsdWRlICJTdHlsZUltYWdlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0Owog
Ci1jbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlbmRlckltYWdlUmVzb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcklt
YWdlUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uMDFhMmYxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlw
ZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVu
ZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcg
OiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJMYXllckJhY2tpbmcoUmVuZGVyTGF5ZXIqKTsK
ICAgICB+UmVuZGVyTGF5ZXJCYWNraW5nKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNYXJxdWVlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKaW5k
ZXggNzk5OThlZC4uOThmZGRiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaApAQCAtNTMs
NyArNTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJMYXllcjsKIAogLy8g
VGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBhdXRvLXNjcm9sbGluZyBvZiBsYXllcnMgd2l0aCBvdmVy
ZmxvdzogbWFycXVlZS4KLWNsYXNzIFJlbmRlck1hcnF1ZWUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVuZGVyTWFycXVlZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVy
TWFycXVlZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGV4cGxpY2l0
IFJlbmRlck1hcnF1ZWUoUmVuZGVyTGF5ZXIqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJNYXJxdWVl
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAppbmRleCAyNTNhNjcyLi5kOGYyZTVlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUKIC8vIEV4YW1wbGVzIG9mIHZpc3VhbCBvdmVyZmxvdyBhcmUgc2hhZG93cywgdGV4
dCBzdHJva2UgKGFuZCBldmVudHVhbGx5IG91dGxpbmUgYW5kIGJvcmRlci1pbWFnZSkuCiAKIC8v
IFRoaXMgb2JqZWN0IGlzIGFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMg
aGF2ZSBub24tZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCi1jbGFzcyBSZW5kZXJP
dmVyZmxvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJPdmVyZmxvdyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyT3ZlcmZsb3cpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBkZWZh
dWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhkZWZh
dWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBl
ci5oCmluZGV4IDIwMTUzZTkuLjgxYzc5ZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xp
cHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE93
blB0cjxJbWFnZUJ1ZmZlcj4gY2xpcE1hc2tJbWFnZTsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNlbGVjdGlvbkluZm8uaAppbmRleCBhMDlmYzFhLi40NWNhODEzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAgICAgICA6
IG1fb2JqZWN0KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3Lmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggYjVkMDI5NC4uMTNhMjM3MiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtMjU2LDcgKzI1Niw4IEBAIHZvaWQgdG9SZW5kZXJW
aWV3KGNvbnN0IFJlbmRlclZpZXcqKTsKIAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Np
c3Qgd2l0aCBMYXlvdXRTdGF0ZSBwdXNoL3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoK
ICAgICAvLyBjdG9yIHRvIHB1c2ggbm93CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRl
clZpZXcqIHZpZXcsIFJlbmRlckJveCogcm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJs
ZVN0YXRlID0gZmFsc2UsIGludCBwYWdlSGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdl
ZCA9IGZhbHNlLCBDb2x1bW5JbmZvKiBjb2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyV2lkZ2V0UHJvdGVjdG9yLmgKaW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgOiBwcml2YXRl
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKTsKIHB1YmxpYzoKICAgICBSZW5k
ZXJXaWRnZXRQcm90ZWN0b3IoUmVuZGVyV2lkZ2V0KiBvYmplY3QpCiAgICAgICAgIDogbV9vYmpl
Y3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJU
b29scy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCmluZGV4IDli
Y2M3YTQuLjkyMjU4MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVm
ZmVyVG9vbHMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgK
QEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiSW1hZ2VCdWZm
ZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zMiw3ICszMSw4IEBAIGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29u
dGV4dDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgYm9vbCBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFy
Z2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25Q
dHI8SW1hZ2VCdWZmZXI+JiwgQ29sb3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3Vi
dHJlZVRvSW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZp
bmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxh
eW91dEluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAppbmRl
eCA4ZjU5NzAzNS4uMDcyYjRiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFy
a2VyTGF5b3V0SW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dElu
Zm8uaApAQCAtMjMsNyArMjMsNiBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVy
T2JqZWN0LmgiCiAjaW5jbHVkZSAiU1ZHTWFya2VyRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgc3Ry
dWN0IE1hcmtlckxheW91dCB7CiAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07CiAKLWNs
YXNzIFNWR01hcmtlckxheW91dEluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
TWFya2VyTGF5b3V0SW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFya2VyTGF5
b3V0SW5mbyk7CiBwdWJsaWM6CiAgICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAgIH5TVkdN
YXJrZXJMYXlvdXRJbmZvKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNv
dXJjZXMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCmluZGV4IDQ5NTkxY2Yu
LmM0NjYzNTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCkBAIC0yMiw3ICsyMiw2IEBACiAK
ICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKQEAgLTM4LDcgKzM3LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VN
YXNrZXI7CiBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3Vy
Y2VzIGFzc29jaWF0ZWQgd2l0aCBhIFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNo
ZS5oCmluZGV4IDRhNjE1NzAuLjA4OWI2MjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2Vz
Q2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdS
ZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXND
YWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDYWNoZSgpOwog
ICAgIH5TVkdSZXNvdXJjZXNDYWNoZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNl
c0N5Y2xlU29sdmVyLmgKaW5kZXggZTYzZWU2My4uMzQxMjU4ZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCkBAIC0yOSw3ICsyOSw4IEBAIGNsYXNzIFJl
bmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZH
UmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIpOwogcHVibGljOgogICAgIFNWR1Jl
c291cmNlc0N5Y2xlU29sdmVyKFJlbmRlck9iamVjdCosIFNWR1Jlc291cmNlcyopOwogICAgIH5T
VkdSZXNvdXJjZXNDeWNsZVNvbHZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
VGFibGVMYXlvdXQuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKaW5kZXggZTBm
YThlZS4uYmUwMWM2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCkBAIC0yMSwxMyArMjEsMTMg
QEAKICNpZm5kZWYgVGFibGVMYXlvdXRfaAogI2RlZmluZSBUYWJsZUxheW91dF9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBS
ZW5kZXJUYWJsZTsKIAotY2xhc3MgVGFibGVMYXlvdXQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGFibGVMYXlvdXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhYmxlTGF5b3V0
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGFibGVMYXlvdXQoUmVu
ZGVyVGFibGUqIHRhYmxlKQogICAgICAgICA6IG1fdGFibGUodGFibGUpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJh
bnNmb3JtU3RhdGUuaAppbmRleCAwYjRjYTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5z
Zm9ybVN0YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgog
I2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtU3RhdGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVHJhbnNmb3JtU3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRyYW5zZm9ybVN0YXRlKTsKIHB1YmxpYzoKICAgICBlbnVtIFRyYW5zZm9ybURpcmVjdGlv
biB7IEFwcGx5VHJhbnNmb3JtRGlyZWN0aW9uLCBVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVj
dGlvbiB9OwogICAgIGVudW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRyYW5zZm9y
bSwgQWNjdW11bGF0ZVRyYW5zZm9ybSB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
VmVydGljYWxQb3NpdGlvbkNhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0
aW9uQ2FjaGUuaAppbmRleCA0ZGVhZWY1Li5iMjViMmY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9W
ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQgUG9zaXRp
b25Ub3AgPSAtMHg3ZmZmZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4N2ZmZmZm
ZmY7CiBjb25zdCBpbnQgUG9zaXRpb25VbmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1jbGFzcyBW
ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmVydGlj
YWxQb3NpdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNhbFBvc2l0
aW9uQ2FjaGUpOwogcHVibGljOgogICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAgICAgeyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAppbmRleCA0Zjk2NGEyLi4xNWY2OTEy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKQEAgLTMzLDcgKzMzLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTdHlsZUltYWdlOwogCi1zdHJ1Y3QgQ29udGVu
dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ29udGVudERhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENvbnRlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlwZShDT05URU5UX05PTkUpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi44MTQw
MzllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMwLDcg
KzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVudCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb3VudGVyQ29udGVudChjb25zdCBB
dG9taWNTdHJpbmcmIGlkZW50aWZpZXIsIEVMaXN0U3R5bGVUeXBlIHN0eWxlLCBjb25zdCBBdG9t
aWNTdHJpbmcmIHNlcGFyYXRvcikKICAgICAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKaW5kZXggNDlmYjI5NC4uODQ3ZThkZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IEZp
bGxTaXplIHsKICAgICBMZW5ndGhTaXplIHNpemU7CiB9OwogCi1jbGFzcyBGaWxsTGF5ZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGaWxsTGF5ZXIgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZpbGxMYXllcihFRmlsbExheWVyVHlwZSk7CiAg
ICAgfkZpbGxMYXllcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hh
ZG93RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCmluZGV4IGNh
ODNhZjAuLmEzZGRmMTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRv
d0RhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKQEAgLTI2
LDcgKzI2LDYgQEAKICNkZWZpbmUgU2hhZG93RGF0YV9oCiAKICNpbmNsdWRlICJDb2xvci5oIgot
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzcsNyArMzYsOCBAQCBlbnVtIFNoYWRvd1N0eWxlIHsgTm9ybWFsLCBJbnNldCB9OwogCiAv
LyBUaGlzIHN0cnVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCBzaGFkb3dzIGZvciB0aGUgdGV4
dC1zaGFkb3cgYW5kIGJveC1zaGFkb3cgcHJvcGVydGllcy4KIAotY2xhc3MgU2hhZG93RGF0YSA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFNoYWRvd0RhdGEgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1f
eCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxk
ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKaW5kZXgg
MzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5r
QnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7CiAvLyBQ
aGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQsIGNvbXB1
dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVkIGluIHRo
ZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQaGFzZSB0
aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBwbGllZCB0
byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVuZ3RoKS4K
IAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0
Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICsz
OCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0
cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAv
LyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0
RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwog
cHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQg
YnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQwNThkOC4u
NjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5o
CkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVyU1ZHSW5s
aW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNo
IGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBv
YmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmUo
KTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7IHJldHVy
biBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkzZWYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZH
UmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsK
IGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0
TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1i
YXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25z
dCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMwLDcgKzMw
LDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAvLyBIZWxw
ZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2VybmluZycg
LyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0
RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmco
Y29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNr
LmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4uZTFkZjU5
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNv
bXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0
byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25p
emVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIp
OwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2
OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHZpcnR1YWwgfkRhdGFiYXNlVGFzaygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2VUcmFja2VyLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgK
aW5kZXggNzE0NWU2Yi4uYTFhNWJkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFi
YXNlVHJhY2tlci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaApAQCAt
NTYsNyArNTYsOCBAQCBjbGFzcyBEYXRhYmFzZVRyYWNrZXJDbGllbnQ7CiBzdHJ1Y3QgU2VjdXJp
dHlPcmlnaW5UcmFpdHM7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKENIUk9NSVVNKQogCi1jbGFzcyBE
YXRhYmFzZVRyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUcmFj
a2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRyYWNrZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplVHJh
Y2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0aCk7CiAgICAgc3RhdGljIERhdGFiYXNlVHJh
Y2tlciYgdHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdU
cmFuc2FjdGlvbk1vbml0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rp
b25Nb25pdG9yLmgKaW5kZXggNzgzYTczMS4uNGZjYzIzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNp
ZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQs
NyArNDMsOCBAQCBjbGFzcyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U7CiAvLyBGSVhN
RTogbW92ZSB0aGUgdmVjdG9yIG9mIHRyYW5zYWN0aW9ucyB0byBUTFMuIEtlZXBpbmcgaXQgc3Rh
dGljCiAvLyB3aWxsIG5vdCB3b3JrIG9uY2Ugd2UgYWRkIHN1cHBvcnQgZm9yIHdvcmtlcnMuIEFu
b3RoZXIgcG9zc2libGUKIC8vIHNvbHV0aW9uIGlzIHRvIGtlZXAgdGhlIHZlY3RvciBpbiB0aGUg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KLWNsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0
b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9u
aXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9u
aXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYWRkUGVuZGluZ1RyYW5zYWN0aW9uKElE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSopOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVBl
bmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmggYi9XZWJDb3JlL3N0b3Jh
Z2UvTG9jYWxTdG9yYWdlVGFzay5oCmluZGV4IGEyZTM1ZWEuLjI3YThlYjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdl
L0xvY2FsU3RvcmFnZVRhc2suaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkOwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0
aGlzIGNsYXNzIHRvIFN0b3JhZ2VUYXNrCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsU3RvcmFnZVRhc2spOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQsIEFy
ZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9zdG9y
YWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLmEyYzc4YzYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3JlL3N0
b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTogUmVu
YW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRo
cmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFk
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093
blB0cjxMb2NhbFN0b3JhZ2VUaHJlYWQ+IGNyZWF0ZSgpOwogICAgICAgICB+TG9jYWxTdG9yYWdl
VGhyZWFkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2Vy
LmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKaW5kZXggZWM5NjIwYy4u
ODJkN2M3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5o
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaApAQCAtNDEsNyArNDEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogY2xhc3Mg
T3JpZ2luVXNhZ2VSZWNvcmQ7CiAKLWNsYXNzIE9yaWdpblF1b3RhTWFuYWdlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE9yaWdpblF1b3RhTWFuYWdlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIE9yaWdpblF1b3RhTWFuYWdlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2Fn
ZVJlY29yZC5oCmluZGV4IGE4MzBlNjguLjc1NTdlYWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Rv
cmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2Fn
ZVJlY29yZC5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gT2Jq
ZWN0cyBvZiB0aGlzIGNsYXNzIGNhbiBiZSB1c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcyB3aXRo
IGV4dGVybmFsIHN5bmNocm9uaXphdGlvbi4KIC8vIFN0cmluZyBhcmd1bWVudHMgYXJlIGFsc28g
c3VwcG9zZWQgdG8gYmUgZGVlcGx5IGNvcGllZCBieSB0aGUgY2FsbGVyIHdoZW4gbmVjZXNzYXJ5
LgotY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
T3JpZ2luVXNhZ2VSZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9yaWdpblVzYWdl
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgT3JpZ2luVXNh
Z2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9u
Q2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBm
ZWQwNjU3Li4zOTg4OGQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApA
QCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAg
QEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5z
YWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQK
IC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNh
Y3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
KyAgICBTUUxUcmFuc2FjdGlvbkNsaWVudCgpIHsgfQogICAgIHZvaWQgZGlkQ29tbWl0V3JpdGVU
cmFuc2FjdGlvbihBYnN0cmFjdERhdGFiYXNlKik7CiAgICAgdm9pZCBkaWRFeGVjdXRlU3RhdGVt
ZW50KEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICBib29sIGRpZEV4Y2VlZFF1b3RhKEFic3RyYWN0
RGF0YWJhc2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5o
CmluZGV4IDk0MzYwYzAuLmZkNzY3ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9TUUxU
cmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0
aW9uQ29vcmRpbmF0b3IuaApAQCAtNDMsOCArNDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgU1FMVHJhbnNhY3Rpb247CiAKLSAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTUUxUcmFuc2FjdGlv
bkNvb3JkaW5hdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rp
b25Db29yZGluYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAg
ICAgICAgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcigpIHsgfQogICAgICAgICB2b2lkIGFjcXVp
cmVMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgcmVsZWFzZUxvY2soU1FMVHJh
bnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCBzaHV0ZG93bigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmggYi9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4
dGVuc2lvbnMuaAppbmRleCBhMGNmMmJiLi4wZWQ2MmE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2
Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4
dGVuc2lvbnMuaApAQCAtMzgsNyArMzgsOCBAQCBjbGFzcyBTVkdTdHlsZWRFbGVtZW50OwogY2xh
c3MgU1ZHU01JTEVsZW1lbnQ7CiBjbGFzcyBTVkdTVkdFbGVtZW50OwogCi1jbGFzcyBTVkdEb2N1
bWVudEV4dGVuc2lvbnMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRG9jdW1lbnRF
eHRlbnNpb25zIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdEb2N1bWVudEV4dGVuc2lv
bnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hT
ZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNW
R0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRl
OgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRp
bmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0Nh
Y2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5z
aW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRh
aW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBz
dWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZH
IGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgK
aW5kZXggNDI3NmM0YS4uZGEwZjRjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIx
LDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBA
IGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxl
bWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBTVkdFbGVtZW50UmFyZURhdGEoKQogICAgICAgICA6IG1fY3Vyc29yRWxlbWVudCgw
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaCBiL1dlYkNvcmUvc3ZnL1NW
R0ZvbnREYXRhLmgKaW5kZXggZTg5N2E1OS4uZjIwMmQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dmcvU1ZHRm9udERhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCkBAIC0yNSw3
ICsyNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHRm9udERhdGEgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRm9udERhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR0ZvbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgU1ZHRm9udERhdGEoU1ZHRm9udEZhY2VFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+U1ZH
Rm9udERhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgg
Yi9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCmluZGV4IGMwYWU3ZjMuLjhlNDNiOTQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKKysrIGIvV2ViQ29yZS9zdmcv
U1ZHUGF0aEJsZW5kZXIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAjaWYgRU5BQkxFKFNWRykKICNp
bmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHUGF0aEJsZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJs
ZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCbGVuZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NW
R1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uMWY0NWRmOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0
ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gK
IAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcg
KzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2Yo
dW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhC
eXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFt
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR1BhdGhC
eXRlU3RyZWFtPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhDb25zdW1lci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKaW5kZXggYjdjNWU3
My4uZGJiZGNhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKKysr
IGIvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2lm
IEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQwLDggKzM5LDEwIEBAIGVu
dW0gUGF0aFBhcnNpbmdNb2RlIHsKICAgICBVbmFsdGVyZWRQYXJzaW5nCiB9OwogCi1jbGFzcyBT
VkdQYXRoQ29uc3VtZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aENvbnN1
bWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQ29uc3VtZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoQ29uc3VtZXIoKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgaW5jcmVtZW50UGF0aFNlZ21lbnRDb3VudCgpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgY29udGludWVDb25zdW1pbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFu
dXAoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmggYi9XZWJD
b3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKaW5kZXggNzY3OWE5NS4uMDk2MTMxYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhQ
YXJzZXIuaApAQCAtMjksMTIgKzI5LDEyIEBACiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgi
CiAjaW5jbHVkZSAiU1ZHUGF0aFNlZy5oIgogI2luY2x1ZGUgIlNWR1BhdGhTb3VyY2UuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhQYXJzZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1ZHUGF0aFBhcnNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHUGF0aFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJj
ZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLjc3YmY5ZmEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2
Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU1ZHUGF0aFNvdXJjZSgpIHsg
fQogICAgIHZpcnR1YWwgflNWR1BhdGhTb3VyY2UoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBo
YXNNb3JlRGF0YSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1ZpZXdT
cGVjLmggYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCmluZGV4IDY4NmNlYzMuLmNkMTBjYTQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvV2ViQ29yZS9zdmcv
U1ZHVmlld1NwZWMuaApAQCAtMzIsOCArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBTVkdFbGVtZW50OwogCiBjbGFzcyBTVkdWaWV3U3BlYyA6IHB1YmxpYyBTVkdGaXRUb1ZpZXdC
b3gsCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29tQW5kUGFuLAotICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICBwdWJs
aWMgU1ZHWm9vbUFuZFBhbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVmlld1NwZWMp
OwogcHVibGljOgogICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
U1ZHSW1hZ2UuY3BwCmluZGV4IGM5ODA0YWUuLmU4YTA2NTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAKQEAgLTU1LDcgKzU1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVibGljIEVtcHR5
Q2hyb21lQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFnZUNocm9tZUNs
aWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0ltYWdlQ2hy
b21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dl
YmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dl
YmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMy
QXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlz
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVh
bHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIv
V2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDVi
Mzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMp
CiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsg
fQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25z
dCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29u
bmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIz
NzcuLmEzOWNkMGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDks
NiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5l
bENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVi
bGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJTb2Nr
ZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2ViU29j
a2V0Q2hhbm5lbENsaWVudCogY2xpZW50LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
cHJvdG9jb2wpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJTb2NrZXRDaGFubmVsKGNvbnRleHQs
IGNsaWVudCwgdXJsLCBwcm90b2NvbCkpOyB9CiAgICAgICAgIHZpcnR1YWwgfldlYlNvY2tldENo
YW5uZWwoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hh
a2UuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAppbmRleCBhNWI0
MjYwLi4zNzFkODUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFu
ZHNoYWtlLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCkBA
IC0zNywxMyArMzcsMTMgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
IldlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hh
a2VSZXNwb25zZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi0gICAgY2xh
c3MgV2ViU29ja2V0SGFuZHNoYWtlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBX
ZWJTb2NrZXRIYW5kc2hha2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJTb2Nr
ZXRIYW5kc2hha2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBNb2RlIHsKICAgICAgICAg
ICAgIEluY29tcGxldGUsIE5vcm1hbCwgRmFpbGVkLCBDb25uZWN0ZWQKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXgg
MzY2ZTRmYS4uOWYwYjAxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtl
clRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgV29y
a2VyTG9hZGVyUHJveHk7CiBjbGFzcyBXb3JrZXJSdW5Mb29wOwogCiBjbGFzcyBXb3JrZXJUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdv
cmtlckNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5n
JiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAg
IHsKQEAgLTc3LDcgKzc4LDggQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICAvLyBHZW5lcmF0
ZWQgYnkgdGhlIGJyaWRnZS4gIFRoZSBQZWVyIGFuZCBpdHMgYnJpZGdlIHNob3VsZCBoYXZlIGlk
ZW50aWNhbAogICAgIC8vIGxpZmV0aW1lcy4KLSAgICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNv
Y2tldENoYW5uZWxDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGVlciA6
IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGVlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxD
bGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJv
eHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01v
ZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRl
eCAyMWUxNGExLi40OTAyYWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJl
ZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24g
b2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFz
cyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gSW52b2tlZCBvbmNlIHRoZSB3
b3JrZXIgc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCB0byBmaXJlIHVwIHRoZSB3b3JrZXIgdGhyZWFk
LgogICAgICAgICB2b2lkIHdvcmtlclNjcmlwdExvYWRlZChTaGFyZWRXb3JrZXJQcm94eSYsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHdvcmtlclNjcmlwdCwgUGFzc093
blB0cjxNZXNzYWdlUG9ydENoYW5uZWw+KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0LmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCmluZGV4IDVk
MTVkOTQuLjA4NDY0MjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTQ1LDcgKzE0NSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc0Nsb3NpbmcoKSB7IHJldHVy
biBtX2Nsb3Npbmc7IH0KIAogICAgICAgICAvLyBBbiBvYnNlcnZlciBpbnRlcmZhY2UgdG8gYmUg
bm90aWZpZWQgd2hlbiB0aGUgd29ya2VyIHRocmVhZCBpcyBnZXR0aW5nIHN0b3BwZWQuCi0gICAg
ICAgIGNsYXNzIE9ic2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
T2JzZXJ2ZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT2JzZXJ2ZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBPYnNlcnZlcihXb3JrZXJDb250ZXh0Kik7CiAg
ICAgICAgICAgICB2aXJ0dWFsIH5PYnNlcnZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaAppbmRleCAzMzkzN2NlLi40ZGU5MGRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIldvcmtlckxvYWRl
clByb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyT2JqZWN0UHJveHkuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CkBAIC00Niw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIGNsYXNzIFdvcmtlcjsKIAotICAgIGNsYXNz
IFdvcmtlck1lc3NhZ2luZ1Byb3h5IDogcHVibGljIFdvcmtlckNvbnRleHRQcm94eSwgcHVibGlj
IFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHksIHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2Vy
Q29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2Fk
ZXJQcm94eSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlck1lc3NhZ2luZ1By
b3h5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBXb3Jr
ZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclJ1bkxvb3AuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCmlu
ZGV4IDgzZjI0M2YuLjdiMzE0OWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJS
dW5Mb29wLmNwcAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKQEAgLTEw
NCw3ICsxMDQsOCBAQCBTdHJpbmcgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKQogICAgIHJl
dHVybiBTdHJpbmcoKTsKIH0KIAotY2xhc3MgUnVuTG9vcFNldHVwIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJ1bkxvb3BTZXR1cCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVu
TG9vcFNldHVwKTsKIHB1YmxpYzoKICAgICBSdW5Mb29wU2V0dXAoV29ya2VyUnVuTG9vcCYgcnVu
TG9vcCkKICAgICAgICAgOiBtX3J1bkxvb3AocnVuTG9vcCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5o
CmluZGV4IDlkNGVkZmQuLjNmZWI0ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJSdW5Mb29wLmgKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaApAQCAtNjUs
NyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3RhdGljIFN0cmluZyBk
ZWZhdWx0TW9kZSgpOwogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAg
ICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAg
ICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjlj
ZDRkNWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5j
bHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJE
YXRhYmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3
b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVj
dCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJU
aHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFk
U3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4gY3JlYXRlKGNvbnN0IEtVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAg
Yi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggZmM3ZWI5ZS4uMmI3NzIwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjUsNyArNjUsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3Vu
dGVyKCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0
YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBYTUxIdHRwUmVxdWVzdFN0YXRp
Y0RhdGEoKTsKICAgICBTdHJpbmcgbV9wcm94eUhlYWRlclByZWZpeDsKICAgICBTdHJpbmcgbV9z
ZWNIZWFkZXJQcmVmaXg7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5o
IGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBiYzY4MTVkLi5iMTVkMzU4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgVGV4dFJlc291cmNlRGVj
b2RlcjsKIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKIGNsYXNzIFhNTEh0dHBSZXF1ZXN0IDog
cHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHBy
aXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgWE1MSHR0cFJlcXVlc3QoY29udGV4dCkpOyB9CiAgICAg
flhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Np
b25Ob2RlLmggYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKaW5kZXggYzA0ZDQ1
Yi4uOTNmYjg1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5o
CisrKyBiL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMzksNyArMzksOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogICAgICAgICAK
LSAgICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IDogRmFzdEFsbG9jQmFzZSB7CisgICAg
ICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCB7CisgICAgICAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBu
b2RlOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAg
ICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIEV2YWx1YXRpb25D
b250ZXh0JiBldmFsdWF0aW9uQ29udGV4dCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9Y
UGF0aE5vZGVTZXQuaCBiL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCmluZGV4IGQ1YzQ3YmUu
LjYxOWQ5MWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCisrKyBiL1dl
YkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAKLSAgICAgICAgY2xhc3MgTm9kZVNldCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgY2xhc3MgTm9kZVNldCB7CisgICAgICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgTm9kZVNldCgpIDogbV9pc1NvcnRlZCh0cnVlKSwgbV9zdWJ0cmVlc0FyZURpc2pvaW50KGZh
bHNlKSB7IH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhQYXJz
ZXIuaCBiL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKaW5kZXggMGVlNDQ3YS4uZjQ5YjQ0YiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3htbC9Y
UGF0aFBhcnNlci5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgICAgIFRva2VuKGludCB0LCBFcVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBlcW9wKHYp
IHt9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICAgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBhcnNlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFBhcnNlcigpOwog
ICAgICAgICAgICAgflBhcnNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhQcmVk
aWNhdGUuaCBiL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKaW5kZXggNWYyNDgyYS4uMzYw
MDE1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysgYi9XZWJD
b3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCkBAIC0xMDUsNyArMTA1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29u
c3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogICAgICAgICB9OwogCi0gICAgICAg
IGNsYXNzIFByZWRpY2F0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBy
ZWRpY2F0ZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVkaWNhdGUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJl
ZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5k
ZXggZWMwMjJiMy4uYjAzMWJhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgK
KysrIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAg
IGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAg
ICAgICBjbGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIGVudW0gQXhpcyB7CiAgICAgICAgICAgICAgICAgQW5jZXN0b3JB
eGlzLCBBbmNlc3Rvck9yU2VsZkF4aXMsIEF0dHJpYnV0ZUF4aXMsCkBAIC00OSw3ICs1MCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICBTZWxmQXhpcwogICAgICAgICAg
ICAgfTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgY2xhc3MgTm9kZVRlc3QgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CisgICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCB7CisgICAgICAgICAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICAgICAgZW51bSBLaW5kIHsKICAgICAgICAgICAgICAgICAgICAgVGV4dE5vZGVUZXN0
LCBDb21tZW50Tm9kZVRlc3QsIFByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlOb2Rl
VGVzdCwgTmFtZVRlc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBi
L1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAppbmRleCBmM2E5MzE4Li41YzBjYThhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKKysrIGIvV2ViQ29yZS94bWwvWFNM
SW1wb3J0UnVsZS5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IENhY2hlZFhTTFN0eWxlU2hlZXQ7CiAKIGNsYXNzIFhTTEltcG9ydFJ1bGUgOiBwdWJsaWMgU3R5
bGVCYXNlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxl
PiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikK
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBiNmViYTIxLi4wZmIxMmRjIDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMi0wNiAgWm9sdGFuIEhv
cnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFs
bG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNh
biByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4g
Q2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcg
dG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1
bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJk
aW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxv
Y2FsaXplZC50eHQ6IFVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3Vu
ZE9iamVjdC5oCmluZGV4IDc2OWU4M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvQm91bmRPYmplY3QuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2Jq
ZWN0LmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNs
dWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogLy8gQm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBt
YXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2Fs
bHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0Lgot
Y2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmpl
Y3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAg
ICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRo
aXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNw
cCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4
NjBjYjEuLjU5YzIxNzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1h
bmFnZXIuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAj
aW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVu
YXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVn
Z2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBu
YW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpD
bGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDog
cHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2Fs
bGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2Fs
bGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8
djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZp
ZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJ
ZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1
Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2Vs
Ziwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBE
ZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dl
ckFnZW50TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1h
bmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdl
bnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1
Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEw
MDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1w
bC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
X2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZy
b250ZW5kSG9zdDsKQEAgLTQ0LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBX
ZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7
CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJ
bnNwZWN0b3JGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICwgcHVibGljIE5vbmNvcHlhYmxlICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAg
ICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29s
c0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFs
IH5JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5kZXggOWY0Y2U4Ny4uZDExYjhmMyAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTYwLDcgKzYwLDYg
QEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIK
ICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5k
SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmlu
ZGV4IDg2NmExY2IuLmIwODUzMzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRv
b2xzRnJvbnRlbmRJbXBsLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAg
c3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1j
bGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xz
RnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2Vi
RGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNG
cm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAg
ICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcAppbmRleCA0NDIyZTFiLi4yNmI5NmJjIDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCkBAIC0yODAsNyArMjgwLDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1w
bCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQog
CiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZp
b3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2Fu
IGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQ
cmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJv
bWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFt
ZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uMWU5
MjQ3NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgK
KysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2
LDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdl
YlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJh
bWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
UmVmQ291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgLy8gV2ViV2lkZ2V0CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXJFZmwuaCBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlckVmbC5oCmluZGV4IDRiYmFlMjUuLjY3YzQ2MDggMTAwNjQ0Ci0tLSBhL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oCisrKyBi
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5o
CkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCBkNGJiZWEyLi4zZmI4YjE2IDEw
MDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQu
aCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
cik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZpcnR1
YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25s
b2FkLmNwcAppbmRleCAxOGI2NGFiLi5lMjZhNWM0IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRkb3dubG9hZC5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93
bmxvYWQuY3BwCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5o
PgogI2luY2x1ZGUgIkdSZWZQdHIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC01NCw3ICs1Myw4IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICogb3V0IHdoYXQgaXMgdG8gYmUgZG93bmxvYWRlZCwg
YW5kIGRvIGl0IGl0c2VsZi4KICAqLwogCi1jbGFzcyBEb3dubG9hZENsaWVudCA6IHB1YmxpYyBO
b25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIERvd25sb2Fk
Q2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEb3dubG9hZENsaWVudCk7CiAgICAgcHVibGljOgogICAgICAgICBEb3dubG9hZENs
aWVudChXZWJLaXREb3dubG9hZCopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0ZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvV2ViS2l0L21hYy9Gb3J3YXJkaW5nSGVhZGVy
cy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUwODAy
NC4uMDAwMDAwMAotLS0gYS9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2ltcG9ydCA8SmF2YVNjcmlwdENv
cmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQv
TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmggYi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCmluZGV4IGY3ODRhZGUuLjRmMmM1NjYgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5LmgKKysrIGIvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHkuaApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBkZW1h
cnNoYWxWYWx1ZUZyb21BcnJheShKU0M6OkV4ZWNTdGF0ZSosIE5TQXJyYXkgKmFycmF5LCBOU1VJ
bnRlZ2VyJiBpbmRleCwgSlNDOjpKU1ZhbHVlJiByZXN1bHQpOwogICAgIHZvaWQgZGVtYXJzaGFs
VmFsdWVzKEpTQzo6RXhlY1N0YXRlKiwgZGF0YV90IHZhbHVlc0RhdGEsIG1hY2hfbXNnX3R5cGVf
bnVtYmVyX3QgdmFsdWVzTGVuZ3RoLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiByZXN1bHQp
OwogCi0gICAgY2xhc3MgTG9jYWxPYmplY3RNYXAgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
TG9jYWxPYmplY3RNYXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbE9iamVj
dE1hcCk7CiAgICAgcHVibGljOgogICAgICAgICBMb2NhbE9iamVjdE1hcCgpOwogICAgICAgICB+
TG9jYWxPYmplY3RNYXAoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRh
YmFzZVRyYWNrZXJDbGllbnQubW0gYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFj
a2VyQ2xpZW50Lm1tCmluZGV4IDI5MTM3MzkuLjY1YWJhNDMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9t
YWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KKysrIGIvV2ViS2l0L21hYy9T
dG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQpAQCAtNTIsNyArNTIsOCBAQCBXZWJE
YXRhYmFzZVRyYWNrZXJDbGllbnQ6On5XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQoKQogewogfQog
Ci1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlm
eU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhy
ZWFkKFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudCogY2xpZW50LCBTZWN1cml0eU9yaWdpbiogb3Jp
Z2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJLaXRfcGNoLmggYi9XZWJLaXQv
cXQvV2ViS2l0X3BjaC5oCmluZGV4IDFkZDRkNTIuLmUwOTVlZjQgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9XZWJLaXRfcGNoLmgKKysrIGIvV2ViS2l0L3F0L1dlYktpdF9wY2guaApAQCAtNzIsNyAr
NzIsNiBAQAogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1RDU3lz
dGVtQWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
VW51c2VkUGFyYW0uaD4KICNpbmNsdWRlIDx3dGYvQWx3YXlzSW5saW5lLmg+CmRpZmYgLS1naXQg
YS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmggYi9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50
LmgKaW5kZXggYTkzYTNjMi4uNjcyNTEwNyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01FbnVt
VmFyaWFudC5oCisrKyBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaApAQCAtMjksMTIgKzI5
LDEyIEBACiAjZGVmaW5lIE5PTUlOTUFYCiAjaW5jbHVkZSA8dW5rbnduLmg+CiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgIkNPTVZhcmlhbnRTZXR0ZXIuaCIKIAog
dGVtcGxhdGU8dHlwZW5hbWUgQ29udGFpbmVyVHlwZT4KLWNsYXNzIENPTUVudW1WYXJpYW50IDog
cHVibGljIElFbnVtVkFSSUFOVCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENPTUVudW1W
YXJpYW50IDogcHVibGljIElFbnVtVkFSSUFOVCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q09NRW51bVZhcmlhbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogYWRv
cHQoQ29udGFpbmVyVHlwZSYpOwogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogY3JlYXRlSW5z
dGFuY2UoY29uc3QgQ29udGFpbmVyVHlwZSYpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DT01Q
cm9wZXJ0eUJhZy5oIGIvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCmluZGV4IDYxMGMzNjcu
LjJiNTdhNjcgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaAorKysgYi9X
ZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogI2RlZmluZSBO
T01JTk1BWA0KICNpbmNsdWRlIDx1bmtud24uaD4NCiANCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+DQogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+DQogDQogI2luY2x1ZGUgIkNPTVZhcmlh
bnRTZXR0ZXIuaCINCiANCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtl
eVR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFt
ZSBXVEY6OlN0cmluZ0hhc2g+DQotY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3Bl
cnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiwgTm9uY29weWFibGUgew0KK2NsYXNzIENPTVBy
b3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIgew0K
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01Qcm9wZXJ0eUJhZyk7DQogcHVibGljOg0KICAg
ICB0eXBlZGVmIEhhc2hNYXA8S2V5VHlwZSwgVmFsdWVUeXBlLCBIYXNoVHlwZT4gSGFzaE1hcFR5
cGU7DQogDQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmggYi9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCA5YWM4YzY5
Li43NTMxODg4IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuaAorKysgYi9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaApAQCAtMTAy
LDcgKzEwMiw4IEBAIHByaXZhdGU6CiAgICAgaW50IG1fZHJhZ1N0YXJ0T2Zmc2V0OwogfTsKIAot
Y2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUZ1bGxzY3JlZW5DbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVl
bkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZp
cnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcCBiL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2Vy
LmNwcAppbmRleCBiZGNiNTQ5Li5lMmI4MWUxIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkRh
dGFiYXNlTWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
CkBAIC01Miw3ICs1Miw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFsKExQQ1dTVFIgczEs
IExQQ1dTVFIgczIpCiAgICAgcmV0dXJuICF3Y3NjbXAoczEsIHMyKTsKIH0KIAotY2xhc3MgRGF0
YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVBy
b3BlcnR5QmFnIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZURldGFpbHNQcm9w
ZXJ0eUJhZyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFn
KiBjcmVhdGVJbnN0YW5jZShjb25zdCBEYXRhYmFzZURldGFpbHMmKTsKIApAQCAtMzI4LDcgKzMy
OSw4IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRGF0YWJhc2VNYW5hZ2VyOjpkZWxl
dGVEYXRhYmFzZSgKICAgICByZXR1cm4gU19PSzsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2lu
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFRvTWFpblRocmVhZChXZWJEYXRhYmFzZU1hbmFnZXIq
IGRhdGFiYXNlTWFuYWdlciwgU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3Iu
aAppbmRleCAwNTNhNTkzLi5jZDMyNGE4IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkluc3Bl
Y3Rvci5oCisrKyBiL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKQEAgLTMwLDExICszMCwxMSBA
QAogI2RlZmluZSBXZWJJbnNwZWN0b3JfaAogCiAjaW5jbHVkZSAiV2ViS2l0LmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFdlYlZpZXc7CiAKLWNsYXNzIFdlYkluc3Bl
Y3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYklu
c3BlY3RvciwgcHVibGljIElXZWJJbnNwZWN0b3JQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShXZWJJbnNwZWN0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJJbnNwZWN0b3Iq
IGNyZWF0ZUluc3RhbmNlKFdlYlZpZXcqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJM
b2NhbGl6YWJsZVN0cmluZ3MuY3BwIGIvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3Mu
Y3BwCmluZGV4IGRhNmIyMjEuLmU5Yjk5YWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViTG9j
YWxpemFibGVTdHJpbmdzLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5n
cy5jcHAKQEAgLTcyLDcgKzcyLDggQEAgc3RhdGljIExvY2FsaXplZFN0cmluZ01hcCBmcmFtZXdv
cmtMb2NTdHJpbmdzKCkKICAgICByZXR1cm4gbWFwOwogfQogCi1jbGFzcyBMb2NhbGl6ZWRTdHJp
bmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxpemVkU3RyaW5nIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbGl6ZWRTdHJpbmcpOwogcHVibGljOgogICAgIExvY2Fs
aXplZFN0cmluZyhDRlN0cmluZ1JlZiBzdHJpbmcpCiAgICAgICAgIDogbV9jZlN0cmluZyhzdHJp
bmcpCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmggYi9XZWJLaXQvd2lu
L1dlYlNjcmlwdFdvcmxkLmgKaW5kZXggZjA4OGE3Mi4uMDE1MTFkZSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCisrKyBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQu
aApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRE9NV3Jh
cHBlcldvcmxkOwogfQogCi1jbGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSwgcHVibGljIElXZWJTY3JpcHRXb3JsZCB7CitjbGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1Ymxp
YyBJV2ViU2NyaXB0V29ybGQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNjcmlwdFdv
cmxkKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViU2NyaXB0V29ybGQqIHN0YW5kYXJkV29ybGQo
KTsKICAgICBzdGF0aWMgQ09NUHRyPFdlYlNjcmlwdFdvcmxkPiBjcmVhdGVJbnN0YW5jZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oIGIvV2ViS2l0L3dp
bi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCmluZGV4IGEyZDZkNTYuLjZlMzc0N2QgMTAwNjQ0Ci0t
LSBhL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaAorKysgYi9XZWJLaXQvd2luL1dl
YlNlcmlhbGl6ZWRKU1ZhbHVlLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIH0KIAotY2xhc3MgV2ViU2VyaWFs
aXplZEpTVmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpT
VmFsdWUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsKK2NsYXNzIFdlYlNl
cmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElX
ZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdl
YlNlcmlhbGl6ZWRKU1ZhbHVlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NUHRyPFdlYlNlcmlh
bGl6ZWRKU1ZhbHVlPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVS
TFBhdHRlcm4uaAppbmRleCBlOGY2YjY3Li40Mjg1NGI0IDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCisrKyBiL1dlYktpdC93aW4vV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmgKQEAgLTMyLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIFVzZXJDb250ZW50VVJMUGF0dGVybjsKIH0KIAotY2xhc3MgV2ViVXNlckNvbnRlbnRV
UkxQYXR0ZXJuIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlVzZXJDb250ZW50VVJM
UGF0dGVybiB7CitjbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgSVdlYlVz
ZXJDb250ZW50VVJMUGF0dGVybiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViVXNlckNv
bnRlbnRVUkxQYXR0ZXJuKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NUHRyPFdlYlVzZXJDb250
ZW50VVJMUGF0dGVybj4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwYzJjNGM3Li5hZTVmN2Y1IDEwMDY0
NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDEwLTEyLTA2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCBy
aWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAg
SW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRp
bmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisg
ICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRh
dGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2Uu
aCBpbmNsdWRlcy4KKwogMjAxMC0xMi0wNSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgV2luZG93cyBwcm9kdWN0aW9uIGJ1aWxkIGZpeApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oIGIvV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCmluZGV4IDgxMTMyMzYuLjhlZmZiMGQgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaAorKysgYi9X
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgKQEAgLTI2LDcgKzI2LDYg
QEAKICNpZm5kZWYgQmluYXJ5U2VtYXBob3JlX2gKICNkZWZpbmUgQmluYXJ5U2VtYXBob3JlX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQ
cmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIv
UGxhdGZvcm0vTW9kdWxlLmggYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCmluZGV4IDA4MjVi
ZjYuLmVjMWFjY2QgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKKysrIGIv
V2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBNb2R1
bGVfaAogI2RlZmluZSBNb2R1bGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC0z
OSw3ICszOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBNb2R1bGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTW9kdWxlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNb2R1bGUpOwogcHVibGljOgogICAgIE1vZHVsZShjb25zdCBTdHJpbmcmIHBhdGgpOwogICAg
IH5Nb2R1bGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5Lmgg
Yi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCmluZGV4IDA1ZGMwZGQuLmE4NmI5ZmQg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKKysrIGIvV2ViS2l0
Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBTaGFy
ZWRNZW1vcnlfaAogI2RlZmluZSBTaGFyZWRNZW1vcnlfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogCkBAIC01Miw3ICs1MSw4IEBAIHB1YmxpYzoKICAgICAgICAgUmVhZFdyaXRl
CiAgICAgfTsKIAotICAgIGNsYXNzIEhhbmRsZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBI
YW5kbGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIYW5kbGUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgSGFuZGxlKCk7CiAgICAgICAgIH5IYW5kbGUoKTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaCBiL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAppbmRleCAwYWMxMjY2Li5mYTk5M2I1
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5
LmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCkBA
IC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiUGx1Z2luQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlJ1bkxvb3AuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCBhNGY5NDhiLi44MzJk
MDJmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisr
KyBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTM5LDYgKzM5LDcg
QEAgY2xhc3MgV2ViUHJvY2Vzc0Nvbm5lY3Rpb247CiBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczsKICAgICAgICAgCiBjbGFzcyBQbHVnaW5Qcm9jZXNzIDogQ2hpbGRQcm9j
ZXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGx1Z2luUHJvY2VzcyYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktp
dDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgK
aW5kZXggNzhmZTFmNC4uOGM1ZThlMyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTI3LDEzICsy
NywxMSBAQAogI2RlZmluZSBDaGlsZFByb2Nlc3NfaAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Y2xhc3MgQ2hpbGRQcm9jZXNzIDogcHJvdGVjdGVkIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVu
dCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hpbGRQcm9jZXNzKTsKLQogcHJvdGVjdGVk
OgogICAgIENoaWxkUHJvY2VzcygpOwogICAgIH5DaGlsZFByb2Nlc3MoKTsKZGlmZiAtLWdpdCBh
L1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCBiL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAppbmRleCBkMzM2M2Y5
Li43ZTBmZWYxIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVz
c2FnZVJlY2VpdmVyLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3Nh
Z2VSZWNlaXZlci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9ucHJ1bnRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oIGIvV2Vi
S2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmgKaW5kZXggZTRjMDBjNS4uM2RjOTI0
YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmgKKysr
IGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNpbmNsdWRlIDxXZWJDb3JlL25wcnVu
dGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oIGIvV2Vi
S2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCmluZGV4IGY1ZmI1NzYuLjUxMTI2NTggMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaAorKysgYi9XZWJLaXQy
L1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgU2Fu
ZGJveEV4dGVuc2lvbl9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9GaW5kSW5kaWNhdG9yV2luZG93LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJ
bmRpY2F0b3JXaW5kb3cuaAppbmRleCBlODg4OWI2Li4zZjVmYWRhIDEwMDY0NAotLS0gYS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaAorKysgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBGaW5kSW5kaWNhdG9yV2luZG93X2gKICNkZWZpbmUgRmluZEluZGljYXRvcldp
bmRvd19oCiAKLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NP
d25QdHIuaD4KICNpbXBvcnQgPHd0Zi9SZWZQdHIuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIu
aD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01h
bmFnZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIu
aAppbmRleCBjMjY1ZjJlMi4uMGRjN2E5YyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJM
RShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2Ug
Q29yZUlQQyB7CkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgUGx1
Z2luUHJvY2Vzc1Byb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1Byb3h5OwogCi1jbGFzcyBQbHVnaW5Q
cm9jZXNzTWFuYWdlciA6IE5vbmNvcHlhYmxlICB7CitjbGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUHJvY2Vzc01hbmFnZXIpOwogcHVi
bGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5j
cHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3Bw
CmluZGV4IGZlN2Q4OTYuLjllMTc0MmUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcApAQCAtMjU2LDcgKzI1Niw4IEBAIFZl
Y3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6cGx1Z2luc0RpcmVjdG9yaWVzKCkKICAgICBy
ZXR1cm4gZGlyZWN0b3JpZXM7CiB9CiAKLWNsYXNzIFBhdGhXYWxrZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGF0aFdhbGtlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGF0
aFdhbGtlcik7CiBwdWJsaWM6CiAgICAgUGF0aFdhbGtlcihjb25zdCBTdHJpbmcmIGRpcmVjdG9y
eSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3Zp
ZGVyLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKaW5kZXggMDE1
NTE1Yy4uYTQyOGQ1YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQ
cm92aWRlci5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaApA
QCAtMzEsMTMgKzMxLDEzIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MaW5rSGFzaC5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNvbnRl
eHQ7CiAgICAgCi1jbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIDogTm9uY29weWFibGUgeworY2xh
c3MgVmlzaXRlZExpbmtQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmlzaXRl
ZExpbmtQcm92aWRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgVmlzaXRlZExpbmtQcm92aWRl
cihXZWJDb250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9h
ZHMvRG93bmxvYWQuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaApp
bmRleCA1NGYzMjVhLi5mYzFjZjBlIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3du
bG9hZC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiAjaWYgUExBVEZPUk0oTUFD
KQpAQCAtNTksNyArNTgsNiBAQCBjbGFzcyBXZWJQYWdlOwogCiBjbGFzcyBEb3dubG9hZCA6IHB1
YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyPERvd25sb2FkPiB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRG93bmxvYWQpOwotCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8RG93
bmxvYWQ+IGNyZWF0ZSh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmKTsKICAgICB+RG93bmxvYWQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCmluZGV4IDFmMjdiODYuLmI2NmRhYzcgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKKysrIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaApAQCAtMjcsNyAr
MjcsNiBAQAogI2RlZmluZSBEb3dubG9hZE1hbmFnZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCmluZGV4IDY3MzdiZDQuLjFiNDMxNDUgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAor
KysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKQEAg
LTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Byb3RlY3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL25wcnVudGltZV9pbnRlcm5hbC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBKU0dsb2JhbE9iamVjdDsK
QEAgLTQwLDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOUFJ1bnRpbWVPYmpl
Y3RNYXA7CiAgICAgCiAvLyBOUEpTT2JqZWN0IGlzIGFuIE5QT2JqZWN0IHRoYXQgd3JhcHMgYSBK
U09iamVjdC4KLWNsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMgTlBPYmplY3QsIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMgTlBPYmplY3QgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE5QSlNPYmplY3QpOwogcHVibGljOgogICAgIHN0YXRpYyBOUEpTT2JqZWN0KiBj
cmVhdGUoTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAsIEpTQzo6SlNPYmplY3QqIGpzT2Jq
ZWN0KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaAppbmRleCBkN2JhODUzLi42OGE4MGQwIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bk1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5f
UFJPQ0VTUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAvLyBNYW5hZ2VzIHBsdWctaW4g
cHJvY2VzcyBjb25uZWN0aW9ucyBmb3IgdGhlIGdpdmVuIHdlYiBwcm9jZXNzLgpAQCAtMzgsNyAr
MzcsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b247CiAgICAgICAgIAotY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyIDogTm9u
Y29weWFibGUgeworY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIpOwogcHVi
bGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXImIHNoYXJlZCgp
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxl
ci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaAppbmRleCAx
MTBhN2E0Li45YmI2ZjI3IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9G
aW5kQ29udHJvbGxlci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJQYWdlT3ZlcmxheS5oIgogI2lu
Y2x1ZGUgIldlYkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
Ykluc3BlY3Rvci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgK
aW5kZXggMjFhNzUyOS4uYjcwOTA4MiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
SW5zcGVjdG9yLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
IGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGZiOWIyNjcuLjM5ZDdhNDUgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMC0xMi0wNiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
ZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAg
ICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBn
ZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFu
ZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVt
ZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NC
YXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMi0wNCAgQW50b25pbyBHb21lcyAgPGFnb21lc0By
aW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KQEAgLTIwNjk0
LDcgKzIwNzA2LDcgQEAKIAogMjAxMC0wNy0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCi0gICAgICAgIENvbW1lbnQgb3V0IGEgcGFydCBvZiBUZXN0TmV0c2NhcGVQ
bHVnaW4gdGhhdCBjYXVzZWQgdGVzdHPCoHRvIGZhaWwgb24gVGlnZXIgYW5kIExlb3BhcmQuCisg
ICAgICAgIENvbW1lbnQgb3V0IGEgcGFydCBvZiBUZXN0TmV0c2NhcGVQbHVnaW4gdGhhdCBjYXVz
ZWQgdGVzdHPCIHRvIGZhaWwgb24gVGlnZXIgYW5kIExlb3BhcmQuCiAKICAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHA6CiAgICAgICAgIChOUFBfTmV3
KToKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFk
ZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAppbmRleCA2
Y2I2MzhlLi5iZDM2ZDU4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCkBAIC00NSw3ICs0NSw2IEBACiAKICNpbmNsdWRlICJD
cHBWYXJpYW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCkBAIC01OCw3ICs1Nyw4IEBAIHR5cGVkZWYgVmVjdG9yPENwcFZhcmlhbnQ+IENwcEFy
Z3VtZW50TGlzdDsKIAogLy8gQ3BwQm91bmRDbGFzcyBsZXRzIHlvdSBtYXAgSmF2YXNjcmlwdCBt
ZXRob2QgY2FsbHMgYW5kIHByb3BlcnR5IGFjY2Vzc2VzCiAvLyBkaXJlY3RseSB0byBDKysgbWV0
aG9kIGNhbGxzIGFuZCBDcHBWYXJpYW50KiB2YXJpYWJsZSBhY2Nlc3MuCi1jbGFzcyBDcHBCb3Vu
ZENsYXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENwcEJvdW5kQ2xhc3MgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENwcEJvdW5kQ2xhc3MpOwogcHVibGljOgogICAgIGNsYXNz
IFByb3BlcnR5Q2FsbGJhY2sgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAppbmRleCBlMTQ3OGQw
Li4wZGFjNGM3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EUlREZXZUb29sc0FnZW50LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiVGFz
ay5oIgogI2luY2x1ZGUgIldlYkRldlRvb2xzQWdlbnRDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIApAQCAtNDksOCArNDgsOCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsK
IAogY2xhc3MgRFJURGV2VG9vbHNDbGllbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQWdlbnQgOiBw
dWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50Q2xpZW50Ci0gICAgICAgICAgICAgICAgICAg
ICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERSVERldlRvb2xzQWdlbnQgOiBwdWJs
aWMgV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEUlREZXZUb29sc0FnZW50KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29sc0FnZW50KCk7
CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNBZ2VudCgpIHt9CmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAppbmRleCA5
Y2ExNDAyLi4wMzBkNjg3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNs
dWRlICJEUlREZXZUb29sc0NhbGxBcmdzLmgiCiAjaW5jbHVkZSAiVGFzay5oIgogI2luY2x1ZGUg
IldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDgs
OCArNDcsOCBAQCBjbGFzcyBXZWJWaWV3OwogCiBjbGFzcyBEUlREZXZUb29sc0FnZW50OwogCi1j
bGFzcyBEUlREZXZUb29sc0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRl
bmRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9u
dGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNDbGllbnQp
OwogcHVibGljOgogICAgIERSVERldlRvb2xzQ2xpZW50KERSVERldlRvb2xzQWdlbnQqLCBXZWJL
aXQ6OldlYlZpZXcqKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0NsaWVudCgpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25D
b250cm9sbGVyLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2
aWdhdGlvbkNvbnRyb2xsZXIuaAppbmRleCBiNjcxNDg5Li44NTAyYTk2IDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xs
ZXIuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdh
dGlvbkNvbnRyb2xsZXIuaApAQCAtMTExLDcgKzExMSw4IEBAIHB1YmxpYzoKIAogLy8gVGVzdCBz
aGVsbCdzIE5hdmlnYXRpb25Db250cm9sbGVyLiBUaGUgZ29hbCBpcyB0byBiZSBhcyBjbG9zZSB0
byB0aGUgQ2hyb21lCiAvLyB2ZXJzaW9uIGFzIHBvc3NpYmxlLgotY2xhc3MgVGVzdE5hdmlnYXRp
b25Db250cm9sbGVyOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGVzdE5hdmlnYXRpb25D
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0TmF2aWdhdGlvbkNvbnRy
b2xsZXIpOwogcHVibGljOgogICAgIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcihOYXZpZ2F0aW9u
SG9zdCopOwogICAgIH5UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oIGIv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmgK
aW5kZXggMzg4MzFkOS4uOTYxOGRjNCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmgKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmgKQEAgLTQxLDEyICs0MSwx
MiBAQAogCiAjaW5jbHVkZSAic2tpYS9leHQvcGxhdGZvcm1fY2FudmFzLmgiCiAjaW5jbHVkZSAi
dGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL2NvcmUvU2tDb2xvci5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAvLyBTa2lhIGZvcndhcmQgZGVjbGFyYXRpb25zCiBzdHJ1Y3QgU2tJ
UmVjdDsKIAotY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFdlYlRoZW1lQ29udHJvbERSVCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vi
VGhlbWVDb250cm9sRFJUKTsKIHB1YmxpYzoKICAgICAvLyBUaGlzIGxpc3Qgb2Ygc3RhdGVzIG1v
c3RseSBtaXJyb3JzIHRoZSBsaXN0IGluIFdlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCiAg
ICAgLy8gYnV0IGlzIG1haW50YWluZWQgc2VwYXJhdGVseSBzaW5jZSB0aGF0IGlzbid0IHB1Ymxp
YyBhbmQgYWxzbyB0byBtaW5pbWl6ZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKaW5kZXggZTUwODg2Yi4uNTM2MmZi
MyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhl
bWVFbmdpbmVEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJUaGVtZUVuZ2luZURSVC5oCkBAIC00OCw5ICs0OCw5IEBACiAjZGVmaW5lIFdlYlRoZW1lRW5n
aW5lRFJUX2gKIAogI2luY2x1ZGUgIndpbi9XZWJUaGVtZUVuZ2luZS5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCi1jbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJL
aXQ6OldlYlRoZW1lRW5naW5lLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVF
bmdpbmVEUlQgOiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV2ViVGhlbWVFbmdpbmVEUlQpOwogcHVibGljOgogICAgIFdlYlRoZW1lRW5n
aW5lRFJUKCkge30KIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0
V2luZG93LmggYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaAppbmRleCBh
MjczNGVkLi44MTNiMTllIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hv
c3RXaW5kb3cuaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaApA
QCAtMjYsMTEgKzI2LDEyIEBACiAjZGVmaW5lIEhvc3RXaW5kb3dfaAogCiAjaW5jbHVkZSA8d2lu
ZG93cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9QbGF0
Zm9ybS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7CiAKLWNsYXNzIEhvc3RXaW5kb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7CiBwdWJsaWM6CiAgICAgSG9zdFdpbmRvdygpOwogICAg
IH5Ib3N0V2luZG93KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rl
c3RzQ29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xs
ZXIuaAppbmRleCAxMWI0NTdkLi5iZGNjNDU1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJL
aXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRl
c3QvVGVzdHNDb250cm9sbGVyLmgKQEAgLTI4LDEzICsyOCwxMyBAQAogI2luY2x1ZGUgPHdpbmRv
d3MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7
CiAKIGNsYXNzIFRlc3Q7CiAKLWNsYXNzIFRlc3RzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBUZXN0c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRlc3RzQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRlc3RzQ29udHJvbGxlciYg
c2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uaCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uaAppbmRleCBmZWMxZjdhLi5iYjA0ZTIwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC0yNywxMSArMjcsMTIgQEAKICNkZWZpbmUgVGVz
dEludm9jYXRpb25faAogCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1JldGFpblB0ci5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiBuYW1l
c3BhY2UgV1RSIHsKIAotY2xhc3MgVGVzdEludm9jYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVGVzdEludm9jYXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3RJ
bnZvY2F0aW9uKTsKIHB1YmxpYzoKICAgICBUZXN0SW52b2NhdGlvbihjb25zdCBjaGFyKik7CiAg
ICAgflRlc3RJbnZvY2F0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75700</attachid>
            <date>2010-12-06 08:43:35 -0800</date>
            <delta_ts>2010-12-07 06:43:40 -0800</delta_ts>
            <desc>updated proposed patch</desc>
            <filename>hetfo2.patch</filename>
            <type>text/plain</type>
            <size>327975</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjA5NzE3MDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBTdGF0aWNWYWx1ZUVudHJ5KEpTT2Jq
ZWN0R2V0UHJvcGVydHlDYWxsYmFjayBfZ2V0UHJvcGVydHksIEpTT2JqZWN0U2V0UHJvcGVydHlD
YWxsYmFjayBfc2V0UHJvcGVydHksIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQog
ICAgICAgICA6IGdldFByb3BlcnR5KF9nZXRQcm9wZXJ0eSksIHNldFByb3BlcnR5KF9zZXRQcm9w
ZXJ0eSksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNDUsNyArNDcsOSBAQCBz
dHJ1Y3QgU3RhdGljVmFsdWVFbnRyeSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiB9OwogCi1zdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFN0YXRpY0Z1bmN0aW9uRW50cnkoSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIF9jYWxsQXNGdW5jdGlvbiwgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAgICAgICAgIDogY2FsbEFzRnVuY3Rpb24oX2NhbGxBc0Z1
bmN0aW9uKSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC02Miw3ICs2Niw5IEBA
IHN0cnVjdCBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNzIChKU0NsYXNzKSBp
cyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGFueSBj
b250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMgc3RydWN0dXJlIGhv
bGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3JvdXBzLgotc3RydWN0
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE9w
YXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4
Y2E4Li5kNmRlNDI2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0
ODAsOSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LXN0cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEpCiAgICAgICAgIDogcmVmQ291bnQoMCkKICAgICAgICAgLCBnbG9iYWxEYXRh
KGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYWE0ZmEzMi4uM2Q5NWVhMCAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTEyLTA2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUg
YW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUg
RmFzdEFsbG9jQmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAg
ICAgKiB3dGYvTm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1w
bGVtZW50YXRpb24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IEFkZCBOb25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50
YXRpb24uCisKIDIwMTAtMTItMDUgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFdpbmRvd3MgcHJvZHVjdGlvbiBidWlsZCBmaXgKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL0dOVW1ha2VmaWxlLmFtIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KaW5k
ZXggODlmOWFiNy4uYTgzMTE4YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZp
bGUuYW0KKysrIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ2Nyw3ICs0Njcs
NiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTUQ1
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBcCiAJSmF2YVNjcmlwdENv
cmUvd3RmL05vbkNvcHlpbmdTb3J0LmggXAotCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUv
d3RmL051bGxQdHIuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmggXApkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaSBiL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKaW5kZXggNjc2YTM1ZC4uODQ4M2E0ZCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5neXBpCkBAIC0zOTgsNyArMzk4LDYgQEAKICAgICAgICAgICAgICd3
dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVzc2FnZVF1ZXVlLmgnLAogICAg
ICAgICAgICAgJ3d0Zi9Ob25Db3B5aW5nU29ydC5oJywKLSAgICAgICAgICAgICd3dGYvTm9uY29w
eWFibGUuaCcsCiAgICAgICAgICAgICAnd3RmL05vdEZvdW5kLmgnLAogICAgICAgICAgICAgJ3d0
Zi9PU0FsbG9jYXRvcldpbi5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9PU0FsbG9jYXRvci5oJywK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RG
LnZjcHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZj
cHJvagppbmRleCA0YTNlODU5Li5hYTNjMTg5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC02NTMsMTAgKzY1Myw2IEBA
CiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXE5v
bmNvcHlhYmxlLmgiCi0JCQk+Ci0JCTwvRmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0i
Li5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiCiAJCQk+CiAJCTwvRmlsZT4KZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGU3ZGUwZTEuLmMyZDRhNDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ2LDcgKzQ0Niw2
IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAyNTU1OTdEMDFG
RjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNzYWdlUXVldWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUU3OThC
MEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyog
Tm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2
OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb25jb3B5YWJs
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwM0Y1
NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAwQjM0NDYwIC8q
IE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3Iu
aCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9y
Lmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMy
NjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oICovOyB9Owog
CQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1OTdEMDFGRjYw
RjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTg4Myw3ICs4ODIsNiBAQAogCQk5MDVCMDJBRDBFMjg2NDBGMDA2REY4
ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3VudGVkTGVha0Nv
dW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291bnRlZExlYWtD
b3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3MDk5MTE4RkEw
MEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3du
UHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5MTE5MDAwMEFE
NzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
b25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAzRjVBNDA5OTEx
QTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJD
MzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yMjE3LDcgKzIyMTUsNiBAQAogCQkJCTdFRkYwMDY0MEVDMDVBOUEw
MEFBN0M5MyAvKiBOb2RlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0M0YwRTE2RjVD
RDAwQjM0NDYwIC8qIE5vZGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUUxQTNERjEyMkI4OTQ1
MDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDMThDNDQw
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBB
MjcyNjMwRTUwQTA2MzAwRTk2RTE1IC8qIE5vdEZvdW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzE4QzQ0MTBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMThDNDQyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5s
dXQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0
cmFjdE1hY3JvQXNzZW1ibGVyLmgKaW5kZXggMDdiZDcwMi4uZmQ0YmMxMyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCkBAIC0yOCw3
ICsyOCw2IEBACiAKICNpbmNsdWRlICJDb2RlTG9jYXRpb24uaCIKICNpbmNsdWRlICJNYWNyb0Fz
c2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVW51c2VkUGFyYW0uaD4KIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRleCBlMzhiOWQ0Li4wMzA0MmY4IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgRFVN
UF9DT0RFIDAKIAogI2luY2x1ZGUgPE1hY3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01MCw3ICs0OSw4IEBAIG5hbWVz
cGFjZSBKU0MgewogLy8gICAqIFRoZSBhZGRyZXNzIG9mIGEgTGFiZWwgcG9pbnRpbmcgaW50byB0
aGUgY29kZSBtYXkgYmUgcmVzb2x2ZWQuCiAvLyAgICogVGhlIHZhbHVlIHJlZmVyZW5jZWQgYnkg
YSBEYXRhTGFiZWwgbWF5IGJlIHNldC4KIC8vCi1jbGFzcyBMaW5rQnVmZmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExpbmtCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExpbmtCdWZmZXIpOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIENvZGVSZWY7
CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgQ29kZVB0cjsKICAgICB0eXBlZGVm
IE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBMYWJlbDsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVw
YXRjaEJ1ZmZlci5oCmluZGV4IDcyY2Y2YjIuLmU1YTZlMmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShBU1NF
TUJMRVIpCiAKICNpbmNsdWRlIDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAppbmRleCA3ZWNhNzJhLi5kZGVhOGUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaApAQCAtMjQyLDcgKzI0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNlbmRpZgog
Ci0gICAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IENvZGVCbG9jayB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBm
cmllbmQgY2xhc3MgSklUOwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlw
dEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0Kiwg
UGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9s
VGFibGUqIHN5bWJvbFRhYmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc3LDggKzU3OCwx
MCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgVmVjdG9yPFJlZlB0cjxGdW5jdGlvbkV4ZWN1
dGFibGU+ID4gbV9mdW5jdGlvbkV4cHJzOwogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJv
bFRhYmxlOwotCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHB1YmxpYzoKKyAgICAgICAgc3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBWZWN0b3I8SGFu
ZGxlckluZm8+IG1fZXhjZXB0aW9uSGFuZGxlcnM7CiAKICAgICAgICAgICAgIC8vIFJhcmUgQ29u
c3RhbnRzCkBAIC01OTksNiArNjAyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBW
ZWN0b3I8Q2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQ+IG1fY2FsbFJldHVybkluZGV4
VmVjdG9yOwogI2VuZGlmCiAgICAgICAgIH07CisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRy
PFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0
cnVjdGlvbi5oCmluZGV4IGM2NDY4YTUuLmYwNzdjYmYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
SW5zdHJ1Y3Rpb24uaApAQCAtNTQsNyArNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBTdHJ1Y3R1cmVDaGFpbjsKIAogICAgIC8vIFN0cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9p
ZF9zZWxmX2xpc3QgYW5kIG9wX2dldF9ieV9pZF9wcm90b19saXN0IGluc3RydWN0aW9uIHRvIGhv
bGQgZGF0YSBvZmYgdGhlIG1haW4gb3Bjb2RlIHN0cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBo
aWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHlt
b3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKICAgICAgICAgc3RydWN0IFBvbHltb3JwaGljU3R1YkluZm8gewog
ICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAgICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NT
dHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAtMTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9zdENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lm
IEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCogc2FtcGxpbmdUb29sKQogICAgICAgICAg
ICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxpbmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgfQogICAgICAgICB9OwogI2Vsc2UKLSAgICAg
ICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNz
IENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29y
ZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29s
KikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4uMWQyYmQwOCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAK
ICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVk
ZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBj
bGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sg
VmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3Rh
Y2sgRnVuY3Rpb25TdGFjazsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9SZWdpc3RlcklELmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5o
CmluZGV4IDM1MzJhZDguLjc4ZDQ5ZDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9SZWdpc3RlcklELmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1Jl
Z2lzdGVySUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgUmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0
ZXJJRCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1
YmxpYzoKICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaCBiL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBkZmJlNjU4Li43NDAw
MDFkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCkBAIC0zMiw3ICsz
Miw4IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7Ci0gICAg
Y2xhc3MgQ2FjaGVkQ2FsbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FjaGVk
Q2FsbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZENhbGwpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENhY2hlZENhbGwoQ2FsbEZy
YW1lKiBjYWxsRnJhbWUsIEpTRnVuY3Rpb24qIGZ1bmN0aW9uLCBpbnQgYXJnQ291bnQpCiAgICAg
ICAgICAgICA6IG1fdmFsaWQoZmFsc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuaAppbmRleCA0Nzc5MGNmLi43NTNkOTBlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJf
aAogCiAjaW5jbHVkZSAiQXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNp
bmNsdWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmpl
Y3QuaCIKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4
TGFyZ2VUaHJlYWRSZWVudHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRo
ID0gMzIgfTsKIAotICAgIGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIEludGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNo
ZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCmlu
ZGV4IDM4ZDE2NDcuLjM5NDQ2NDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIu
aApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDcsNyArNDYsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYgRXhlY1N0YXRlIENhbGxGcmFtZTsKIAot
ICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6RmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVn
aXN0ZXJGaWxlLmgKaW5kZXggZDlmNmEyYi4uNjgyMjAzNSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJSZWdp
c3Rlci5oIgogI2luY2x1ZGUgIldlYWtHQ1B0ci5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlvbi5o
PgogI2luY2x1ZGUgPHd0Zi9WTVRhZ3MuaD4KIApAQCAtODksNyArODgsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJG
aWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQg
Y2xhc3MgSklUOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRy
eSB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDRkMjUxM2QuLjcyNTQ3ZWIgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3Mg
UmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGV4ZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENoYXJhY3RlciBtYW5p
cHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAgICBzdGF0aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50
IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDY5MzBmNjMuLmM2YTBiOGQgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xMzc0LDcgKzEzNzQsOSBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgUGFyYW1ldGVyTm9kZSogbV9uZXh0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgU2Nv
cGVOb2RlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBTY29wZU5vZGVEYXRhIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICB0
eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlw
ZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwogCkBA
IC0xNDcwLDYgKzE0NzIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9OwogCiAgICAgY2xhc3Mg
RnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlmaWVyPiwgcHVibGljIFJl
ZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RnVuY3Rpb25Q
YXJhbWV0ZXJzPiBjcmVhdGUoUGFyYW1ldGVyTm9kZSogZmlyc3RQYXJhbWV0ZXIpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBGdW5jdGlvblBhcmFtZXRlcnMoZmlyc3RQYXJhbWV0ZXIpKTsgfQogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNjU0OTA2Ny4uNDUyYTNlMSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlBhcnNlckFyZW5hLmgiCiAjaW5j
bHVkZSAiU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKQEAgLTQ1LDggKzQ0LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXJzZXJBcmVuYURhdGEgOiBQYXJzZXJB
cmVuYURlbGV0YWJsZSB7IFQgZGF0YTsgfTsKIAotICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAg
ICAgICBQYXJzZXIoKSB7IH0KICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFBhcnNlZE5vZGU+CiAg
ICAgICAgIFBhc3NSZWZQdHI8UGFyc2VkTm9kZT4gcGFyc2UoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIERlYnVnZ2VyKiwgRXhlY1N0YXRlKiwgY29uc3QgU291cmNlQ29kZSYg
c291cmNlLCBGdW5jdGlvblBhcmFtZXRlcnMqLCBKU1BhcnNlclN0cmljdG5lc3Mgc3RyaWN0bmVz
cywgSlNPYmplY3QqKiBleGNlcHRpb24pOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyQXJlbmEuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5o
CmluZGV4IDdjMTgwOWUuLjgyZmI4MDggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJBcmVuYS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5o
CkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFBhcnNlckFyZW5h
RGVsZXRhYmxlOwogICAgIGNsYXNzIFBhcnNlckFyZW5hUmVmQ291bnRlZDsKIAotICAgIGNsYXNz
IElkZW50aWZpZXJBcmVuYSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJZGVu
dGlmaWVyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYgbWFrZUlkZW50aWZp
ZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgp
OwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50aWZpZXIoSlNHbG9i
YWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAgfQogCi0gICAgY2xh
c3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyQXJlbmEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAgICAgcHVibGljOgog
ICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEoKTsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFTY3JpcHRDb3JlL3Bj
cmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi4wYmZmM2FkIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcGNyZS9w
Y3JlX2V4ZWMuY3BwCkBAIC00Niw2ICs0Niw3IEBAIHRoZSBKYXZhU2NyaXB0IHNwZWNpZmljYXRp
b24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMuICovCiAjaW5jbHVk
ZSAicGNyZV9pbnRlcm5hbC5oIgogCiAjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3Ry
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKQEAgLTExMiw3ICsxMTMsOSBAQCBzdHJ1Y3QgQnJhY2tldENoYWluTm9kZSB7CiAgICAg
Y29uc3QgVUNoYXIqIGJyYWNrZXRTdGFydDsKIH07CiAKLXN0cnVjdCBNYXRjaEZyYW1lIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgTWF0Y2hGcmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CiAgICAgUmV0dXJuTG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAg
c3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3VzRnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRleCA3NmMxNDcwLi5hOTgyN2MwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2Rl
ZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNp
bmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAg
ICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3Ry
dWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgcHVibGljOgogICAgICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3Vy
bDsKICAgICAgICAgdW5zaWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaCBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyLmgKaW5kZXggZjljMmNjYi4uZjg4NzQ2ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cHJvZmlsZXIvUHJvZmlsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ci5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFVTdHJpbmc7
CiAgICAgc3RydWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAgIGNsYXNzIFByb2ZpbGVyIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2ZpbGVyIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUHJvZmls
ZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNjMjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJnTGlzdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlz
dC5oCkBAIC0yNSwxNCArMjUsMTQgQEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRl
ICJSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZEFyZ3VtZW50QnVmZmVyKTsKICAg
ICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkg
PSA4OwogICAgICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlciwgaW5saW5lQ2FwYWNpdHk+IFZl
Y3RvclR5cGU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5mZTkw
MGEyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcgKzMzLDEwIEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBOb25jb3B5YWJs
ZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0
aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0
MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRj
aGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1p
emVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0
LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9u
T3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5kZXggZGQyNmJjMy4uNWNiMWU0MSAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3Rm
L0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyArODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBIZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAg
ICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAxZTIyYjZhLi5iNTNhZTQzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAj
ZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2Yg
cHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1hY3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1
cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVwZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyAr
ODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb21tb25JZGVudGlmaWVycyB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgQ29tbW9uSWRlbnRpZmllcnMo
SlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaAppbmRleCA3ZDQ5MjlkLi43MzYzYWY4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVk
ZSAiTWFya1N0YWNrLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKaW5kZXggNzE0OTk5Zi4uMGM1YmJlZCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNDY1LDcgKzQ2NSw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICByZXR1cm4gbmV3IChleGVjKSBKU0FycmF5KGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKS0+YXJyYXlTdHJ1Y3R1cmUoKSwgdmFsdWVzKTsKICAgICB9CiAKLSAgICBjbGFzcyBE
eW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSk7CiAgICAgcHVibGljOgogICAgICAgICBEeW5hbWlj
R2xvYmFsT2JqZWN0U2NvcGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0KiBk
eW5hbWljR2xvYmFsT2JqZWN0KSAKICAgICAgICAgICAgIDogbV9keW5hbWljR2xvYmFsT2JqZWN0
U2xvdChjYWxsRnJhbWUtPmdsb2JhbERhdGEoKS5keW5hbWljR2xvYmFsT2JqZWN0KQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmgKaW5kZXggMDViMzg4Yy4uNjRkN2E0YyAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0xvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIEpTTG9ja19oCiAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIApAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0g
SlNMb2NrQmVoYXZpb3IgeyBTaWxlbmNlQXNzZXJ0aW9uc09ubHksIExvY2tGb3JSZWFsIH07CiAK
LSAgICBjbGFzcyBKU0xvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEpTTG9j
ayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTG9jayk7CiAgICAgcHVibGljOgog
ICAgICAgICBKU0xvY2soRXhlY1N0YXRlKik7CiAgICAgICAgIEpTTG9jayhKU0dsb2JhbERhdGEq
KTsKQEAgLTg5LDcgKzg5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgSlNMb2NrQmVo
YXZpb3IgbV9sb2NrQmVoYXZpb3I7CiAKLSAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERyb3BBbGxMb2Nrcyk7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIERyb3BBbGxMb2NrcyhFeGVjU3RhdGUqIGV4ZWMpOwogICAgICAgICAgICAg
RHJvcEFsbExvY2tzKEpTTG9ja0JlaGF2aW9yKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmpl
Y3QuY3BwCmluZGV4IGI1NDc3YTEuLjBiNzIyYjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09O
T2JqZWN0LmNwcApAQCAtNzAsNyArNzAsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1
ZSBtX3ZhbHVlOwogfTsKIAotY2xhc3MgU3RyaW5naWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5naWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lm
aWVyKTsKIHB1YmxpYzoKICAgICBTdHJpbmdpZmllcihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxh
Y2VyLCBKU1ZhbHVlIHNwYWNlKTsKICAgICB+U3RyaW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oCmluZGV4IDliYzgxZDQuLjBkNmQ5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTG9va3VwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApA
QCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYgdm9pZCAoKlB1dEZ1bmN0
aW9uKShFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSB2YWx1ZSk7CiAK
LSAgICBjbGFzcyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
SGFzaEVudHJ5IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFy
IGF0dHJpYnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXJrU3RhY2suaAppbmRleCBjM2VmYzhmLi4yYzNmNzk0IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNkZWZpbmUgTWFya1N0
YWNrX2gKIAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvT1NBbGxvY2F0b3IuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIAog
ICAgIGVudW0gTWFya1NldFByb3BlcnRpZXMgeyBNYXlDb250YWluTnVsbFZhbHVlcywgTm9OdWxs
VmFsdWVzIH07CiAgICAgCi0gICAgY2xhc3MgTWFya1N0YWNrIDogTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1hcmtTdGFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtTdGFj
ayk7CiAgICAgcHVibGljOgogICAgICAgICBNYXJrU3RhY2sodm9pZCoganNBcnJheVZQdHIpCiAg
ICAgICAgICAgICA6IG1fanNBcnJheVZQdHIoanNBcnJheVZQdHIpCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggNThhYmRlNS4uMTcxNGJkMyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApAQCAtMzEsNyArMzEsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBSZWdFeHBQcm90b3R5cGU7CiAgICAgc3RydWN0
IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZTsKIAotICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3Rv
clByaXZhdGUgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQ
cml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgog
ICAgICAgICAvLyBHbG9iYWwgc2VhcmNoIGNhY2hlIC8gc2V0dGluZ3MKICAgICAgICAgUmVnRXhw
Q29uc3RydWN0b3JQcml2YXRlKCkKICAgICAgICAgICAgIDogbGFzdE51bVN1YlBhdHRlcm5zKDAp
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAppbmRleCAxOWRlOTI5Li5lM2JhZDli
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTU5LDggKzU5LDEwIEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIG1hdGNoKEV4ZWNTdGF0ZSopOwogCiAgICAg
ICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsKLQotICAgICAgICBz
dHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHB1YmxpYzoKKyAg
ICAgICAgc3RydWN0IFJlZ0V4cE9iamVjdERhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERh
dGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAg
ICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAgICAgICAgICwgbGFzdElu
ZGV4KGxhc3RJbmRleCkKQEAgLTcwLDcgKzcyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICBSZWZQdHI8UmVnRXhwPiByZWdFeHA7CiAgICAgICAgICAgICBkb3VibGUgbGFzdEluZGV4
OwogICAgICAgICB9OwotCisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRyPFJlZ0V4cE9iamVj
dERhdGE+IGQ7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
Y29wZUNoYWluLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAw
YjE1YjY3Li42MzYyODJiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3Bl
Q2hhaW4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtMjEs
OCArMjEsNiBAQAogI2lmbmRlZiBTY29wZUNoYWluX2gKICNkZWZpbmUgU2NvcGVDaGFpbl9oCiAK
LSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xh
c3MgSlNHbG9iYWxEYXRhOwpAQCAtMzEsNyArMjksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJhdG9yOwogICAgIAotICAg
IGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSogbmV4dCwgSlNP
YmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAgIDogbmV4dChu
ZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3Mjcu
LjNlMjc4NTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNT
dHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAgc3RhdGljIGlu
bGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZyAm
JiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU21hbGxTdHJpbmdzU3RvcmFnZSgpOwogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRleCBkMWViZmIxMy4uYWM4NGZlOCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCkBAIC0zNyw3ICszNyw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTbWFsbFN0cmlu
Z3NTdG9yYWdlOwogCi0gICAgY2xhc3MgU21hbGxTdHJpbmdzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBTbWFsbFN0cmluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTbWFsbFN0cmluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFNtYWxsU3RyaW5ncygpOwogICAgICAgICB+U21hbGxTdHJpbmdzKCk7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2ZC4uMjYzNTUwMSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJvbFRhYmxl
RW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJbXBsPiA+
LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBjbGFzcyBT
aGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8
U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAg
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4yNjgz
ZDEzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xh
c3MgSlNDZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBl
bXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlw
ZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgLyoKICAgICBJbnZhcmlhbnRzOgogICAgICAgICAqIEEgdmFsdWUg
ZW50ZXJzIHRoZSBXZWFrR0NNYXAgbWFya2VkLiAoR3VhcmFudGVlZCBieSBzZXQoKS4pCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oIGIvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrR0NQdHIuaAppbmRleCBhYzc3Y2YzLi42N2YxMWMzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV2Vha0dDUHRyLmgKQEAgLTI4LDEyICsyOCwxMiBAQAogCiAjaW5jbHVkZSAiQ29s
bGVjdG9yLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9zZSBnZXQo
KSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dDUHRyKCkKICAgICAgICAgOiBtX3B0
cigwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRl
ZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCmluZGV4IDBj
MGU5OTcuLjhiNjU5NzcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVh
ZFJlZkNvdW50ZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3Vu
dGVkLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gd2l0aCByZXNw
ZWN0IHRvIHRoZSBvcmlnaW5hbCBhbmQgYW55IG90aGVyIGNvcGllcy4gIFRoZSB1bmRlcmx5aW5n
IG1fZGF0YSBpcyBqb2ludGx5CiAgICAgLy8gb3duZWQgYnkgdGhlIG9yaWdpbmFsIGluc3RhbmNl
IGFuZCBhbGwgY29waWVzLgogICAgIHRlbXBsYXRlPGNsYXNzIFQ+Ci0gICAgY2xhc3MgQ3Jvc3NU
aHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc1Ro
cmVhZFJlZkNvdW50ZWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVh
ZFJlZkNvdW50ZWQpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3Jv
c3NUaHJlYWRSZWZDb3VudGVkPFQ+ID4gY3JlYXRlKFQqIGRhdGEpCiAgICAgICAgIHsKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0RhdGVNYXRoLmgKaW5kZXggY2I4NDcwOC4uZTBkZWIxYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL0RhdGVNYXRoLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgK
QEAgLTQzLDEwICs0MywxMCBAQAogI2RlZmluZSBEYXRlTWF0aF9oCiAKICNpbmNsdWRlIDxtYXRo
Lmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8
dGltZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKQEAgLTExNiw3ICsxMTYsOSBAQCBkb3VibGUgcGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVk
Q2hhcmFjdGVycyhFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQogCiAvLyBJbnRl
bnRpb25hbGx5IG92ZXJyaWRkaW5nIHRoZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0uCiAvLyBU
aGUgbWVtYmVycyBvZiB0bSBkaWZmZXIgb24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVtcy4KLXN0
cnVjdCBHcmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBHcmVnb3JpYW5E
YXRlVGltZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JlZ29yaWFuRGF0ZVRpbWUpOwor
cHVibGljOgogICAgIEdyZWdvcmlhbkRhdGVUaW1lKCkKICAgICAgICAgOiBzZWNvbmQoMCkKICAg
ICAgICAgLCBtaW51dGUoMCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKaW5kZXggNzQ1ZTBiNi4uMWIxNmFmYyAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0RlcXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsK
ICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1
c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3Ig
bmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzog
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAg
IGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsK
IC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8g
RmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVz
YWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsK
Ky8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
Ky8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxj
aGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAK
IG5hbWVzcGFjZSBXVEYgewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1
YmxpYzogXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJu
IHA7IH0gXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAot
ICAgIHsgXAotICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAg
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0g
XAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0g
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVy
bmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBc
Ci0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAot
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6Oklu
dGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAot
ICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAg
ICB7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpX
VEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6
OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNl
IHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAv
IGZhc3REZWxldGUKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2
IEBAIGNsYXNzIEZhc3RBbGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcg
V1RGOjpGYXN0QWxsb2NCYXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVj
dG9yOwogCiAjZW5kaWYgLy8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCmluZGV4IDRlZDc1YzUuLmI5N2Q4YzggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCkBAIC0yMiwxNCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gK
IAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSAiSGFzaE1hcC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25z
ID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBU
cmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZh
bHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFZhbHVlLCB1bnNp
Z25lZCwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzPiBJbXBsVHlwZTsKICAgICBwdWJsaWM6CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hNYXAuaAppbmRleCAwOTA5NGQxLi43NzMxNTQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaE1hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKQEAg
LTI5LDcgKzI5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBL
ZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERl
ZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsCiAgICAgICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9
IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0
czxNYXBwZWRBcmc+ID4KLSAgICBjbGFzcyBIYXNoTWFwIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIEhhc2hNYXAgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAg
ICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNl
dC5oCmluZGV4IDY2NjM5ZTQuLmJlNmI5M2QgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApAQCAtMzUsNyAr
MzUsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SWRlbnRpdHlFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlw
ZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaCwKLSAg
ICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBI
YXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHNB
cmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hB
cmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCmluZGV4IGUxNGFjNDUuLmU5MTZlZjIgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVj
dCBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVB
cmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RI
YXNoU2V0Tm9kZUhhc2hGdW5jdGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFy
Zywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5h
bWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVs
dEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgTGlzdEhh
c2hTZXROb2RlPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZTsKICAgICAgICAgdHlwZWRl
ZiBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2Rl
QWxsb2NhdG9yOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCmluZGV4IDQxODEzZDMuLjdkZGMxNGQgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
TG9ja2VyLmgKQEAgLTI4LDExICsyOCwxMSBAQAogI2lmbmRlZiBMb2NrZXJfaAogI2RlZmluZSBM
b2NrZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvY2tlcik7CiBwdWJsaWM6CiAgICAgTG9ja2VyKFQmIGxvY2thYmxlKSA6
IG1fbG9ja2FibGUobG9ja2FibGUpIHsgbV9sb2NrYWJsZS5sb2NrKCk7IH0KICAgICB+TG9ja2Vy
KCkgeyBtX2xvY2thYmxlLnVubG9jaygpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvTUQ1LmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuY3BwCmluZGV4IGM5MjZhN2IuLjdj
M2Y5ODMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9NRDUuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAiU3RyaW5n
RXh0cmFzLmgiCiAjaW5jbHVkZSAidGV4dC9DU3RyaW5nLmgiCiAjZW5kaWYKKyNpbmNsdWRlIDxz
dHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL01ENS5oCmluZGV4IDNjYWE4MTAuLmEwZGU1MDAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9NRDUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1LmgKQEAgLTMxLDYgKzMx
LDcgQEAKICNpZm5kZWYgV1RGX01ENV9oCiAjZGVmaW5lIFdURl9NRDVfaAogCisjaW5jbHVkZSA8
c3RkaW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV1RGIHsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9NZXNzYWdlUXVldWUuaAppbmRleCAxNDEwMGM5Li5kN2Q1NzEyIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL01lc3NhZ2VRdWV1ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8bGltaXRzPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBu
YW1lc3BhY2UgV1RGIHsKQEAgLTQ4LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8g
d2hlbiBtZXNzYWdlcyBhcmUgZmV0Y2hlZCBmcm9tIHRoZSBxdWV1ZS4KICAgICAvLyBFc3NlbnRp
YWxseSwgTWVzc2FnZVF1ZXVlIGFjdHMgYXMgYSBxdWV1ZSBvZiBPd25QdHI8RGF0YVR5cGU+Lgog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgotICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVF1ZXVlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVF1ZXVlKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHsgfQogICAgICAgICB+TWVzc2FnZVF1
ZXVlKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyODVlZDJlLi4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0g
KiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2lmbmRlZiBXVEZfTm9uY29weWFibGVfaAotI2RlZmluZSBXVEZfTm9uY29weWFibGVfaAot
Ci0jaWZuZGVmIF9faGFzX2ZlYXR1cmUKLSAgICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAot
I2VuZGlmCi0KLSNpZiBfX2hhc19mZWF0dXJlKGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKLSAgICAj
ZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBfUHJhZ21h
KCJjbGFuZyBkaWFnbm9zdGljIHB1c2giKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCBcIi1XdW5rbm93bi1wcmFnbWFzXCIiKSBcCi0gICAgICAgIF9QcmFnbWEo
ImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAotICAg
ICAgICBwcml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikg
PSBkZWxldGU7IFwKLSAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNz
TmFtZSYpID0gZGVsZXRlOyBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9w
IikKLSNlbHNlCi0gICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwK
LSAgICAgICAgcHJpdmF0ZTogXAotICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFt
ZSYpOyBcCi0gICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUm
KQotI2VuZGlmCi0KLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cCB0
byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ugd2hlbiB5b3Ug
dXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2UuCi0KLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZSB7Ci0KLSAg
ICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAgICAgICAgTm9u
Y29weWFibGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFibGUmIG9wZXJh
dG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAgICAgTm9uY29w
eWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsKLQotfSAvLyBu
YW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6Ok5vbmNvcHlh
YmxlOwotCi0jZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRy
LmgKaW5kZXggNjQzYjkwYi4uY2Q2NGVkYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKQEAg
LTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093bkFycmF5UHRyX2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIu
aCIKICNpbmNsdWRlICJPd25BcnJheVB0ckNvbW1vbi5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4K
QEAgLTM1LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBQYXNzT3duQXJyYXlQdHI7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQ
dHI8VD4gYWRvcHRBcnJheVB0cihUKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBP
d25BcnJheVB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgT3duQXJyYXlQdHIgewogcHVibGljOgogICAgIHR5cGVkZWYgVCogUHRyVHlwZTsKIApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCkBAIC0yMywxMSArMjMsMTEgQEAK
ICNkZWZpbmUgT3duRmFzdE1hbGxvY1B0cl9oCiAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCi0j
aW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICB0ZW1wbGF0
ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoT3duRmFzdE1hbGxvY1B0cik7CiAgICAgcHVibGljOgogICAg
ICAgICBleHBsaWNpdCBPd25GYXN0TWFsbG9jUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25QdHIuaAppbmRleCBjZGMyNzdjLi5mYjU5NDMyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0
ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAi
QXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0
ci5oIgogI2luY2x1ZGUgIk93blB0ckNvbW1vbi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIK
QEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUGFzc093blB0cjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRy
PFQ+IGFkb3B0UHRyKFQqKTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3Mg
T3duUHRyIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9p
bnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJU
eXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAxMmMzZTNkLi5kZGM4YTBmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaApAQCAtMiw2ICsyLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMTExOCw0ICsxMTE5LDYxIEBACiAjaW5jbHVkZSAiR1R5cGVkZWZzLmgi
CiAjZW5kaWYKIAorLyogTm9uY29weWFibGUncyBpbXBsZW1lbnRhdGlvbiBhcyBhIG1hY3JvICov
CisKKyNpZm5kZWYgX19oYXNfZmVhdHVyZQorICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAw
CisjZW5kaWYKKworI2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQorICAg
ICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIF9QcmFn
bWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKKyAgICAgICAgX1ByYWdt
YSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCisg
ICAgICAgIHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUm
KSA9IGRlbGV0ZTsgXAorICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xh
c3NOYW1lJikgPSBkZWxldGU7IFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBw
b3AiKQorI2Vsc2UKKyAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkg
XAorICAgICAgICBwcml2YXRlOiBcCisgICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NO
YW1lJik7IFwKKyAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFt
ZSYpCisjZW5kaWYKKworLyogUHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBvcGVy
YXRvciBuZXcvZGVsZXRlICovCisKKyNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAor
cHVibGljOiBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJl
dHVybiBwOyB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBc
CisgICAgeyBcCisgICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAor
ICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJ
bnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAg
fSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIFwKKyAgICB7IFwK
KyAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7
IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUp
IFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBc
CisgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6
SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgIHJldHVybiBwOyBc
CisgICAgfSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAor
ICAgIHsgXAorICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6
OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgICA6OldU
Rjo6ZmFzdEZyZWUocCk7IFwKKyAgICB9IFwKK3ByaXZhdGU6IFwKK3R5cGVkZWYgaW50IFRoaXNJ
c0hlcmVUb0ZvcmNlQVNlbWljb2xvbkFmdGVyVGhpc01hY3JvCisKICNlbmRpZiAvKiBXVEZfUGxh
dGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKaW5kZXggOGQ4YjMwMi4uZTA2MjI5NCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCkBAIC0yMiw3ICsyMiw3IEBACiAjZGVmaW5lIFJlZkNv
dW50ZWRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxl
LmgiCisjaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAt
MTMxLDcgKzEzMSw4IEBAIGlubGluZSB2b2lkIGFkb3B0ZWQoUmVmQ291bnRlZEJhc2UqIG9iamVj
dCkKIAogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBw
dWJsaWMgUmVmQ291bnRlZEJhc2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGljIFJlZkNvdW50ZWRCYXNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZWZDb3VudGVkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigpCiAgICAgewpAQCAtMTQwLDYgKzE0MSw3IEBAIHB1
YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICBSZWZDb3VudGVkKCkgeyB9CiAgICAgflJl
ZkNvdW50ZWQoKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
UmVmUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKaW5kZXggNmFmYTg4Ni4uYjA3
Yjg5NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMjMsOSArMjMsOSBAQAogI2lmbmRlZiBXVEZfUmVm
UHRyX2gKICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5j
bHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKKyNpbmNsdWRl
IDxhbGdvcml0aG0+CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNl
IFdURiB7CiAKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICBlbnVtIEhh
c2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUgeyBIYXNoVGFibGVEZWxldGVkVmFsdWUgfTsKIAotICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUg
UmVmUHRyKCkgOiBtX3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCog
cHRyKSA6IG1fcHRyKHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQ
dHJIYXNoTWFwLmgKaW5kZXggN2Y2ZWJmZS4uM2MwNzZjZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRy
SGFzaE1hcC5oCkBAIC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hB
cmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAg
IGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0Fy
ZywgTWFwcGVkVHJhaXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBI
YXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBl
ZFRyYWl0c0FyZz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAgICAgICAgIHR5
cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCmluZGV4IDNhZjg3YTguLmVkMWJh
MmMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0
aHJlYWRzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRo
cmVhZHMuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZElkZW50aWZpZXJEYXRh
UHRocmVhZHNfaAogI2RlZmluZSBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAog
bmFtZXNwYWNlIFdURiB7CiAKIC8vIEhvbGRzIFRocmVhZElkZW50aWZpZXIgaW4gdGhlIHRocmVh
ZC1zcGVjaWZpYyBzdG9yYWdlIGFuZCBlbXBsb3lzIHB0aHJlYWRzLXNwZWNpZmljIDItcGFzcyBk
ZXN0cnVjdGlvbiB0byByZWxpYWJseSByZW1vdmUKIC8vIFRocmVhZElkZW50aWZpZXIgZnJvbSB0
aHJlYWRNYXAuIEl0IGFzc3VtZXMgcmVndWxhciBUaHJlYWRTcGVjaWZpYyB0eXBlcyBkb24ndCB1
c2UgbXVsdGlwbGUtcGFzcyBkZXN0cnVjdGlvbi4KLWNsYXNzIFRocmVhZElkZW50aWZpZXJEYXRh
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRocmVhZElkZW50aWZpZXJEYXRhIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRJZGVudGlmaWVyRGF0YSk7CiBwdWJsaWM6CiAg
ICAgflRocmVhZElkZW50aWZpZXJEYXRhKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNo
YXJlZC5oCmluZGV4IDMzYzY2MTIuLmE2YTFjZjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaApAQCAtNjIsMTIgKzYyLDEyIEBACiAjaW5jbHVkZSAiUGxhdGZvcm0uaCIKIAog
I2luY2x1ZGUgPHd0Zi9BdG9taWNzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAK
LWNsYXNzIFRocmVhZFNhZmVTaGFyZWRCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFRocmVhZFNhZmVTaGFyZWRCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRT
YWZlU2hhcmVkQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRo
cmVhZFNhZmVTaGFyZWRCYXNlKGludCBpbml0aWFsUmVmQ291bnQgPSAxKQogICAgICAgICA6IG1f
cmVmQ291bnQoaW5pdGlhbFJlZkNvdW50KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZFNwZWNpZmljLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApp
bmRleCA5M2VkNDY2Li4xMTM3YmQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkU3BlY2lmaWMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApA
QCAtNDEsNyArNDEsNiBAQAogI2lmbmRlZiBXVEZfVGhyZWFkU3BlY2lmaWNfaAogI2RlZmluZSBX
VEZfVGhyZWFkU3BlY2lmaWNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNp
ZiBVU0UoUFRIUkVBRFMpCiAjaW5jbHVkZSA8cHRocmVhZC5oPgpAQCAtNjEsNyArNjAsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYK
IAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBU
aHJlYWRTcGVjaWZpYygpOwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg0LDkgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0Uo
UFRIUkVBRFMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1Mp
Ci0gICAgc3RydWN0IERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERh
dGEoVCogdmFsdWUsIFRocmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93
bmVyKG93bmVyKSB7fQogI2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXIt
PmRlc3Ryb3kodGhpcyk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRT
cGVjaWZpY1dpbi5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
CmluZGV4IGYyYzBjYWQuLmQ3Mjk5NmEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTcGVjaWZpY1dpbi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNp
ZmljV2luLmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5j
bHVkZSAiVGhyZWFkU3BlY2lmaWMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
I2lmIFVTRShQVEhSRUFEUykKICNlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxl
ZCBieSBwb3J0cyB0aGF0IGRvIG5vdCB1c2UgV2luZG93cyBuYXRpdmUgVGhyZWFkU3BlY2lmaWMg
aW1wbGVtZW50YXRpb24uCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
LmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLmYy
ZTA1NjUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC0zMCw3ICszMCw5IEBACiAKIG5h
bWVzcGFjZSBXVEYgewogCi1zdHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2Ug
eworc3RydWN0IE5ld1RocmVhZENvbnRleHQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgogICAgIE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2lu
dCwgdm9pZCogZGF0YSwgY29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVu
dHJ5UG9pbnQpCiAgICAgICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4
IDA0NDM2NWYuLmRhZWExOGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRp
bmcuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYg
QEAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNp
bmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Z1ByaW1pdGl2ZXMuaD4KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Z1ByaW1pdGl2ZXMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgK
aW5kZXggYzExYTZjYi4uMDYzZGVjMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZGluZ1ByaW1pdGl2ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJp
bWl0aXZlcy5oCkBAIC0zNSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogI2lmIE9TKFdJTkRPV1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBA
QCB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1Db25kaXRpb247CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE11dGV4KCk7CiAgICAgfk11
dGV4KCk7CkBAIC0xMTMsNyArMTEzLDggQEAgcHJpdmF0ZToKIAogdHlwZWRlZiBMb2NrZXI8TXV0
ZXg+IE11dGV4TG9ja2VyOwogCi1jbGFzcyBSZWFkV3JpdGVMb2NrIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlYWRXcml0ZUxvY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
YWRXcml0ZUxvY2spOwogcHVibGljOgogICAgIFJlYWRXcml0ZUxvY2soKTsKICAgICB+UmVhZFdy
aXRlTG9jaygpOwpAQCAtMTMwLDcgKzEzMSw4IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1SZWFk
V3JpdGVMb2NrIG1fcmVhZFdyaXRlTG9jazsKIH07CiAKLWNsYXNzIFRocmVhZENvbmRpdGlvbiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRDb25kaXRpb24geworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRocmVhZENvbmRpdGlvbik7CiBwdWJsaWM6CiAgICAgVGhyZWFkQ29u
ZGl0aW9uKCk7CiAgICAgflRocmVhZENvbmRpdGlvbigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1ZlY3Rvci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCmluZGV4IGY3
Mzc5M2YuLmIzMWM2NjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKQEAgLTIxLDE0ICsyMSwxNCBAQAogI2lm
bmRlZiBXVEZfVmVjdG9yX2gKICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0
QWxsb2NCYXNlLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFs
bG9jLmgiCiAjaW5jbHVkZSAiTm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIK
ICNpbmNsdWRlICJWYWx1ZUNoZWNrLmgiCiAjaW5jbHVkZSAiVmVjdG9yVHJhaXRzLmgiCiAjaW5j
bHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHV0aWxpdHk+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAK
ICNpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxRRGF0YVN0cmVhbT4KQEAgLTI3Nyw3ICsyNzcs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4K
LSAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBWZWN0b3JCdWZmZXJCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVj
dG9yQnVmZmVyQmFzZSk7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGFsbG9jYXRlQnVmZmVy
KHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICAgICAgewpAQCAtNDg4LDcgKzQ4OSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkgPSAwPgotICAgIGNsYXNzIFZlY3RvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBWZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBh
Y2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3RvclR5cGVPcGVyYXRpb25zPFQ+IFR5
cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERh
dGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKaW5kZXggNTAxOWMzMy4u
ZDkyMDEwYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykgaW4gV2ViQ29yZSwgYnV0IHRoaXMg
aXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpAQCAtNTEsNyArNTAsOCBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBSZWZQdHI8U3RyaW5n
SW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJhbElkZW50aWZpZXJUYWJsZTsKIAot
Y2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRl
bnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICB+SWRlbnRpZmllclRhYmxlKCk7CiAKQEAgLTg0LDcgKzg0LDggQEAgY2xhc3MgQXRvbWljU3Ry
aW5nVGFibGU7CiAKIHR5cGVkZWYgdm9pZCAoKkF0b21pY1N0cmluZ1RhYmxlRGVzdHJ1Y3Rvciko
QXRvbWljU3RyaW5nVGFibGUqKTsKIAotY2xhc3MgV1RGVGhyZWFkRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBXVEZUaHJlYWREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXVEZUaHJlYWREYXRhKTsKIHB1YmxpYzoKICAgICBXVEZUaHJlYWREYXRhKCk7CiAgICAgfldU
RlRocmVhZERhdGEoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAppbmRleCBjODljMDM2Li5iNWIxMjYxIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL2R0b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0YXRpYyB2b2lkIG11bHQoQmlnSW50
JiBhUmVmLCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJlZiA9IGM7CiB9CiAKLXN0cnVjdCBQ
NU5vZGUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2RlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBQ
NU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1Tm9kZSogbmV4dDsKIH07CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmggYi9KYXZhU2NyaXB0
Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKaW5kZXggY2VjM2U0My4uYTM3ZDk4ZiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaW5jbHVk
ZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIGV4dGVybiAiQyIgdm9pZCBnX2ZyZWUodm9pZCopOwogCkBAIC00
MSw3ICs0MCw4IEBAIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdQYXR0ZXJuU3BlYz4o
R1BhdHRlcm5TcGVjKik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHRGlyPihHRGly
Kik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHRmlsZT4oR0ZpbGUqKTsKIAotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25QdHIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25QdHIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEdPd25QdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEdPd25QdHIoVCogcHRyID0g
MCkgOiBtX3B0cihwdHIpIHsgfQogICAgIH5HT3duUHRyKCkgeyBmcmVlT3duZWRHUHRyKG1fcHRy
KTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAppbmRleCBhNTQ2YmYzLi5l
NzNkMzhlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMg
KzMwLDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmlj
b2RlL1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1j
bGFzcyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nQnVm
ZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdCdWZmZXIpOwogcHVibGljOgog
ICAgIGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNpZ25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9s
ZW5ndGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
SW1wbEJhc2UuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKaW5k
ZXggNjU2NzY3Mi4uMjZiYzFkOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQv
U3RyaW5nSW1wbEJhc2UuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBs
QmFzZS5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5kZWYgU3RyaW5nSW1wbEJhc2VfaAogI2Rl
ZmluZSBTdHJpbmdJbXBsQmFzZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFz
cyBTdHJpbmdJbXBsQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdJbXBs
QmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5nSW1wbEJhc2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBib29sIGlzU3RyaW5nSW1wbCgpIHsgcmV0
dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGwp
ICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQogICAgIHVuc2lnbmVkIGxlbmd0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5ICs0NSw2IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAgICB1c2luZyBOb25jb3B5YWJs
ZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIGlu
UGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFjZTsgfQotCiAgICAgLy8gRm9y
IFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFuIGFycmF5IGFuZCB1c2VzIGFu
IGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsgfQogCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li5hOGJjZTEyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZm5kZWYgV1RGX0Nv
bGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNv
ZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVjdCBVQ29sbGF0b3I7CiAKIG5h
bWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29s
bGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIGVu
dW0gUmVzdWx0IHsgRXF1YWwgPSAwLCBHcmVhdGVyID0gMSwgTGVzcyA9IC0xIH07CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oIGIvSmF2YVNjcmlw
dENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKaW5kZXggMGZkOGE1Ny4uZDQwNDUxMCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKQEAgLTMxNSw3ICszMTUsOCBAQCBz
dHJ1Y3QgQnl0ZVRlcm0gewogICAgIH0KIH07CiAKLWNsYXNzIEJ5dGVEaXNqdW5jdGlvbiA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEJ5dGVEaXNqdW5jdGlvbiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQnl0ZURpc2p1bmN0aW9uKHVuc2lnbmVk
IG51bVN1YnBhdHRlcm5zLCB1bnNpZ25lZCBmcmFtZVNpemUpCiAgICAgICAgIDogbV9udW1TdWJw
YXR0ZXJucyhudW1TdWJwYXR0ZXJucykKQEAgLTMyOCw3ICszMjksOSBAQCBwdWJsaWM6CiAgICAg
dW5zaWduZWQgbV9mcmFtZVNpemU7CiB9OwogCi1zdHJ1Y3QgQnl0ZWNvZGVQYXR0ZXJuIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgQnl0ZWNvZGVQYXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4oUGFzc093blB0cjxCeXRl
RGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24qPiBhbGxQYXJlbnRoZXNl
c0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJBbGxvY2F0b3IqIGFsbG9j
YXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBtX2lnbm9yZUNhc2UocGF0
dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4
UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaAppbmRleCA0NDU2
MGE0Li5mZWU3MTk2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVy
bi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgKQEAgLTcwLDcgKzcw
LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgOiBGYXN0
QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgLy8gQWxsIENoYXJhY3RlckNsYXNzIGluc3RhbmNlcyBo
YXZlIHRvIGhhdmUgdGhlIGZ1bGwgc2V0IG9mIG1hdGNoZXMgYW5kIHJhbmdlcywKICAgICAvLyB0
aGV5IG1heSBoYXZlIGFuIG9wdGlvbmFsIHRhYmxlIGZvciBmYXN0ZXIgbG9va3VwcyAod2hpY2gg
bXVzdCBtYXRjaCB0aGUKICAgICAvLyBzcGVjaWZpZWQgbWF0Y2hlcyBhbmQgcmFuZ2VzKQpAQCAt
MjExLDcgKzIxMyw5IEBAIHN0cnVjdCBQYXR0ZXJuVGVybSB7CiAgICAgfQogfTsKIAotc3RydWN0
IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFBhdHRlcm5BbHRl
cm5hdGl2ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUGF0
dGVybkFsdGVybmF0aXZlKFBhdHRlcm5EaXNqdW5jdGlvbiogZGlzanVuY3Rpb24pCiAgICAgICAg
IDogbV9wYXJlbnQoZGlzanVuY3Rpb24pCiAgICAgICAgICwgbV9vbmNlVGhyb3VnaChmYWxzZSkK
QEAgLTI1Miw3ICsyNTYsOSBAQCBzdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9j
QmFzZSB7CiAgICAgYm9vbCBtX2NvbnRhaW5zQk9MIDogMTsKIH07CiAKLXN0cnVjdCBQYXR0ZXJu
RGlzanVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24g
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBhdHRlcm5EaXNq
dW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAgICAgIDogbV9wYXJl
bnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCmluZGV4
IDk2OTM5NTIuLjBjNWFmYTggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwor
KysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMi0w
NiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJs
ZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0
QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5
NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAgRmFzdEFsbG9jQmFz
ZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29w
eWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCisgICAg
ICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJlbW92ZWQuCisKIDIw
MTAtMTItMDEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBC
dWlsZCBmaXg6IEFkZGVkIGEgZm9yd2FyZGluZyBoZWFkZXIuCmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL0phdmFTY3JpcHRH
bHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRHbHVlL0Zvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA
QAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYwODhkOWIuLjY1OWM3
ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTItMDYgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3Nlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKwor
ICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVj
dHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJs
ZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGlt
cGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFs
bG9jQmFzZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05v
bmNvcHlhYmxlLmg6IFJlbW92ZWQuCisKIDIwMTAtMTItMDUgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFJ1biBzb3J0LVhjb2RlLXByb2pl
Y3QtZmlsZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNv
cHlhYmxlLmggYi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNv
cmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw0ICswLDAgQEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBX
ZWJDb3JlX0ZXRF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29w
eWFibGUuaD4KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
M2EwNGJhYy4uMWEwN2I3YSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBA
IC02NDAwMSwxMCArNjQwMDEsNiBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0J
CQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgi
Ci0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxG
b3J3YXJkaW5nSGVhZGVyc1x3dGZcT3duQXJyYXlQdHIuaCIKIAkJCQkJPgogCQkJCTwvRmlsZT4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDJlZTU2ZWUuLjBjM2YwODcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtNTcsNyArNTcsOCBAQCBz
dHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RUeXBlIHsgUG9zdFN5bmNocm9ub3Vz
bHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBBWE9iamVjdENhY2hlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5iNjk3NmFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
YWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcj4gY3JlYXRlKENhY2hlZFNjcmlwdCogY2FjaGVkU2Ny
aXB0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIoY2Fj
aGVkU2NyaXB0KSk7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRy
b2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKaW5kZXggNGMyNTQw
Ny4uOTFmMWU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwxMiArMjYs
MTIgQEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZy
aWVuZCBHQ0NvbnRyb2xsZXImIGdjQ29udHJvbGxlcigpOwogCiAgICAgcHVibGljOgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmgKaW5kZXggNTRlOWNmNi4uNzczYjU3MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8cnVudGltZS9M
b29rdXAuaD4KICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ01hcC5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBw
ZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5mNDM5NzMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rl
YnVnV3JhcHBlclNldC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJKU0RPTVdyYXBw
ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRlZCB3aXRob3V0IGJlaW5n
IHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGNhY2hlZCB0
d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNEZWJ1
Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVhZFNwZWNpZmljPEpTRGVi
dWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1Z1dyYXBwZXJTZXQmIHNo
YXJlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVj
U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKaW5k
ZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01h
aW5UaHJlYWRFeGVjU3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVh
ZEV4ZWNTdGF0ZS5oCkBAIC0zMCwxMSArMzAsMTEgQEAKICNpZm5kZWYgTkRFQlVHCiAjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KICNlbmRpZgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTWFpblRocmVhZEV4ZWNTdGF0ZSk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIEpTQzo6RXhlY1N0YXRlKiBjdXJyZW50U3RhdGUoKQogICAgIHsgCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi41OWFkNmZjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwgZWl0aGVyIG9uY2Ugb3IgcmVwZWF0ZWRs
eS4gVXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQogICAgICogYW5kIHdpbmRvdy5zZXRJbnRl
cnZhbCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVh
dGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1
Li41ZjY5MWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZy
YW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdp
bmRvdzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRG
cmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgdHlwZWRlZiBIYXNo
TWFwPCBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5k
b3c+ID4gSlNET01XaW5kb3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdERlYnVnU2VydmVyLmgKaW5kZXggMzE3MmM2NS4uMzAwMGFiZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBQYWdlR3Jv
dXA7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogY2xhc3MgSmF2YVNjcmlwdENhbGxGcmFt
ZTsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1NlcnZlcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVk
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaCBi
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRk
NjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC0zMiwxMSArMzIsMTEg
QEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlw
dFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBT
dHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9w
KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFN0YXRlLmgKaW5kZXggMGMwODYxMS4uNDk3MTkyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2RlZmluZSBTY3JpcHRTdGF0ZV9oCiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGVjU3RhdGU7CkBAIC01Miw3ICs1MSw4IEBAIGNsYXNz
IFBhZ2U7CiAvLyBGb3Igbm93LCB0aGUgc2VwYXJhdGlvbiBpcyBwdXJlbHkgYnkgY29udmVudGlv
bi4KIHR5cGVkZWYgSlNDOjpFeGVjU3RhdGUgU2NyaXB0U3RhdGU7CiAKLWNsYXNzIFNjcmlwdFN0
YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIo
U2NyaXB0U3RhdGUqKTsKICAgICB+U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDE3ICsy
NCwxOCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRE9NT2Jq
ZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xv
YmFsRGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVK
U0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsK
ICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxE
YXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmly
dHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3Js
ZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjQ1Nzg5MTMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0
OwogCi0gICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2Vy
Q29udGV4dCopOwogICAgICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaAppbmRleCBjOGI0YTQxLi4wOWQ1MzQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApAQCAt
NDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gdGhyZWFkLiAgVGhlIERP
TURhdGEgZm9yIHRoZSBtYWluIHRocmVhZCBhbmQgdGhlIERPTURhdGEgZm9yIGNoaWxkIHRocmVh
ZHMKICAgICAvLyB1c2UgZGlmZmVyZW50IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBE
T01EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBE
T01EYXRhKCk7CiAgICAgICAgIHZpcnR1YWwgfkRPTURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURh
dGFTdG9yZS5oCmluZGV4IDM3NThlMjMuLjhjNmMwMmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRh
U3RvcmUuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMTQ5LDcgKzE0OCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNuJ3QgbWFuYWdl
IHRoZSBsaWZldGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAgIC8vIGxpZmV0
aW1lIGlzIG1hbmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGFT
dG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGVudW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9NTm9kZU1hcCwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmluZGV4IDFhYTFm
NjIuLmY0MmU4MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaApAQCAtNjAsMTQgKzYwLDE0IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5o
IgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNz
IFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Ny
aXB0Q2FjaGVkRnJhbWVEYXRhICB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhICk7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKEZyYW1l
Kik7CiAgICAgflNjcmlwdENhY2hlZEZyYW1lRGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDVjNWQ2YzYuLjQ0MWFiM2QgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHY4LWRlYnVnLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNDgsNyArNDcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5l
cjsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU2NyaXB0RGVidWdTZXJ2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERl
YnVnU2VydmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1YTA1NC4uZTA5
NjllMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzYsMTMgKzM2LDEz
IEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiAKLWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQo
U2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3Ry
aW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKaW5kZXggMTE4MTNiMC4uZGMy
NDcxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogCiAj
aW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsK
IGNsYXNzIFBhZ2U7CiAKLWNsYXNzIFNjcmlwdFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNjcmlwdFN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0
ZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYWRFeGNlcHRpb24oKSB7IHJldHVybiAhbV9leGNlcHRp
b24uSXNFbXB0eSgpOyB9CiAgICAgdm9pZCBzZXRFeGNlcHRpb24odjg6OkxvY2FsPHY4OjpWYWx1
ZT4gZXhjZXB0aW9uKQpAQCAtNzksNyArNzksOCBAQCBwdWJsaWM6CiAgICAgfkVtcHR5U2NyaXB0
U3RhdGUoKSB7IH0KIH07CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7CiBwdWJsaWM6CiAgICAg
U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKSA6IG1fc2NyaXB0U3RhdGUoMCkgeyB9CiAgICAgU2Ny
aXB0U3RhdGVQcm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKSA6IG1fc2NyaXB0
U3RhdGUoc2NyaXB0U3RhdGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAKaW5kZXggMzZmYzFmNi4uMmMyODc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIHByaXZh
dGU6CiAKIC8vIFdyaXRlciBpcyByZXNwb25zaWJsZSBmb3Igc2VyaWFsaXppbmcgcHJpbWl0aXZl
IHR5cGVzIGFuZCBzdG9yaW5nCiAvLyBpbmZvcm1hdGlvbiB1c2VkIHRvIHJlY29uc3RydWN0IGNv
bXBvc2l0ZSB0eXBlcy4KLWNsYXNzIFdyaXRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdyaXRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV3JpdGVyKTsKIHB1YmxpYzoKICAgICBXcml0
ZXIoKQogICAgICAgICA6IG1fcG9zaXRpb24oMCkKQEAgLTM3Nyw3ICszNzgsOCBAQCBwdWJsaWM6
CiAgICAgfQogCiBwcml2YXRlOgotICAgIGNsYXNzIFN0YXRlQmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU3RhdGVCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3RhdGVCYXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflN0YXRlQmFzZSgp
IHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1dlYkNvcmUvYnJp
ZGdlL0JyaWRnZS5oCmluZGV4IDUwZWZjNjQuLjAwZDZmMzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YnJpZGdlL0JyaWRnZS5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCkBAIC0yOCwxNCAr
MjgsMTUgQEAKICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJyaWRnZUpTQy5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDICB7CiAKIG5hbWVzcGFj
ZSBCaW5kaW5ncyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBNZXRob2QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhvZCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQogICAgIHZpcnR1YWwgaW50
IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIH5NZXRob2QoKSB7IH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaCBiL1dlYkNvcmUvYnJp
ZGdlL0lkZW50aWZpZXJSZXAuaAppbmRleCA5OWJhZTBiLi41ZTE1N2MwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSWRlbnRpZmllclJlcF9oCiAK
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNl
Lmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlmaWVyUmVwIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQp
OwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0Jy
aWRnZUpTQy5oCmluZGV4IDk2OTc0ZDkuLmViY2ZhYWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJp
ZGdlL2pzYy9CcmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgK
QEAgLTU5LDggKzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsK
IAotY2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgQ2xhc3MoKSB7IH0KICAgICB2aXJ0dWFsIE1ldGhvZExpc3QgbWV0aG9kc05h
bWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IEZpZWxkKiBmaWVsZE5hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0g
MDsKICAgICB2aXJ0dWFsIEpTVmFsdWUgZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiwgSW5zdGFu
Y2UqLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4ganNVbmRlZmluZWQoKTsgfQpAQCAtMTI1
LDcgKzEyNyw4IEBAIHByaXZhdGU6CiAgICAgV2Vha0dDUHRyPFJ1bnRpbWVPYmplY3Q+IG1fcnVu
dGltZU9iamVjdDsKIH07CiAKLWNsYXNzIEFycmF5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEFycmF5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcnJheSk7CiBwdWJsaWM6CiAg
ICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7CiAgICAgdmlydHVhbCB+QXJyYXkoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIGIvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9yb290LmgKaW5kZXggYmFiZDdhZC4uMzlmYjM1NyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9y
b290LmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaCBiL1dlYkNvcmUvY3NzL0NTU0lt
YWdlVmFsdWUuaAppbmRleCA4MzNkN2ZlLi4xNzRmMWVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC0z
Miw2ICszMiw3IEBAIGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2U7CiBjbGFzcyBTdHlsZUltYWdlOwog
CiBjbGFzcyBDU1NJbWFnZVZhbHVlIDogcHVibGljIENTU1ByaW1pdGl2ZVZhbHVlLCBwcml2YXRl
IENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoKSB7IHJl
dHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NJbXBvcnRSdWxlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggMTBkMzAy
Ni4uYWQ0ZTk3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBi
L1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNo
ZWRDU1NTdHlsZVNoZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxl
IDogcHVibGljIENTU1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENT
U0ltcG9ydFJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYg
aHJlZiwgUGFzc1JlZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5k
ZXggNjIyNWMzNi4uOTI2MzhmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNl
LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTTmFtZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgogICAgICAgICBBdG9taWNTdHJpbmcgcHJlZml4OwogICAgICAgICBBdG9taWNTdHJpbmcgdXJp
OwogICAgICAgICBPd25QdHI8Q1NTTmFtZXNwYWNlPiBwYXJlbnQ7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGViOGJi
MmQuLmFlZjg5ZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0zMzEsNyArMzMxLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGludCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYpOwogICAgIGludCBjc3NW
YWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKIAotICAgIGNsYXNzIFNob3J0
aGFuZFNjb3BlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNob3J0aGFuZFNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBTaG9ydGhhbmRTY29wZShDU1NQYXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3Bh
cnNlcihwYXJzZXIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggOTkzYWUyOC4u
OTk2ZTc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IENT
U1BhcnNlclZhbHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjcmVhdGVDU1NWYWx1ZSgp
OwogfTsKIAotY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVu
dCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1
ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5hbWU7CiAgICAgT3duUHRy
PENTU1BhcnNlclZhbHVlTGlzdD4gYXJnczsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5oIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAppbmRleCAxMDYxNzFkLi4x
MGU1OTNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBDU1NQcm9wZXJ0eSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IENTU1Byb3BlcnR5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBDU1NQcm9wZXJ0eShpbnQgcHJvcElELCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9v
bCBpbXBvcnRhbnQgPSBmYWxzZSwgaW50IHNob3J0aGFuZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9
IGZhbHNlKQogICAgICAgICA6IG1faWQocHJvcElEKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGZiOGY2
OTUuLjQyY2RmNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTM3LDggKzM3LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotY2xhc3MgQ1NTU2Vs
ZWN0b3JCYWcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTU2VsZWN0b3JCYWcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yQmFnKTsKIHB1YmxpYzoKKyAgICBD
U1NTZWxlY3RvckJhZygpIHsgfQogICAgIH5DU1NTZWxlY3RvckJhZygpCiAgICAgewogICAgICAg
ICBBU1NFUlQoaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDAwZTIzYjkuLmRkYzBhYTAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuaApAQCAtMjQsNyArMjQsNiBAQAogCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5o
IgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IENTU1NlbGVjdG9yQmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0
b3IgZm9yIGEgU3R5bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIENTU1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5k
YW50KQpAQCAtMzAyLDcgKzMwMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5z
aWduZWQgc3BlY2lmaWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBz
ZXVkb1R5cGUoKSBjb25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJs
ZSB7CisgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBSYXJlRGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0
b3J5KQogICAgICAgICAgICAgICAgIDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2IoMCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3JMaXN0LmgKaW5kZXggOWU0MGVmOC4uNzFjZWE2ZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JM
aXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxlY3Rvckxpc3RfaAogCiAj
aW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAgICAg
fkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA3MmI0YTk3
Li45OGYwNDMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAor
KysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzQ5LDcgKzM0OSw4IEBA
IGlmIChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJldHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxl
U2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVTZXQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwogcHVibGljOgogICAgIENTU1J1bGVTZXQoKTsK
ICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmluZGV4IGI3MTg3NTEuLjNl
MmViNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5
bGVkRWxlbWVudDsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lUnVsZTsKIGNsYXNzIFdlYktpdENT
U0tleWZyYW1lc1J1bGU7CiAKLWNsYXNzIE1lZGlhUXVlcnlSZXN1bHQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTWVkaWFRdWVyeVJlc3VsdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTWVkaWFRdWVyeVJlc3VsdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1
bHQpCiAgICAgICAgIDogbV9leHByZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1Ymxp
YzoKIH07CiAKICAgICAvLyBUaGlzIGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBn
aXZlbiBlbGVtZW50IGJhc2VkIG9uIGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBj
bGFzcyBDU1NTdHlsZVNlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
U1NTdHlsZVNlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVT
ZWxlY3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
Q1NTU3R5bGVTZWxlY3RvcihEb2N1bWVudCosIFN0eWxlU2hlZXRMaXN0KiBhdXRob3JTaGVldHMs
IENTU1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBDU1NTdHlsZVNoZWV0KiBwYWdlVXNlclNoZWV0LCBjb25zdCBWZWN0b3I8UmVmUHRyPENT
U1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91cFVzZXJTaGVldHMsCkBAIC0yMDksNyArMjExLDggQEAg
cHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFJlbmRlclN0eWxlKiBzdHlsZU5v
dFlldEF2YWlsYWJsZSgpIHsgcmV0dXJuIHNfc3R5bGVOb3RZZXRBdmFpbGFibGU7IH0KIAotICAg
ICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2VsZWN0b3JDaGVja2VyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgU2VsZWN0
b3JDaGVja2VyKERvY3VtZW50KiwgYm9vbCBzdHJpY3RQYXJzaW5nKTsKIApAQCAtMzE1LDcgKzMx
OCw4IEBAIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQqPiBtX3ZpZXdw
b3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHM7CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1
bGVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NSdWxlRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAw
KQogICAgICAgICAgICAgOiBtX3Bvc2l0aW9uKHBvcykKQEAgLTM0Myw3ICszNDcsOCBAQCBwdWJs
aWM6CiAgICAgICAgIENTU1J1bGVEYXRhKiBtX25leHQ7CiAgICAgfTsKIAotICAgIGNsYXNzIENT
U1J1bGVEYXRhTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURh
dGFMaXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YUxpc3QodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwp
CiAgICAgICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnkuaAppbmRleCAyODEwMDliLi5hNjM4YWM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBN
ZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBlbnVtIFJlc3RyaWN0b3IgewogICAgICAgICBPbmx5LCBOb3QsIE5v
bmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaCBiL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCAwMGFjMzk0Li4wN2M0ZDBkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE1lZGlhUXVl
cnlFeHA7CiAgKiB0aGUgZGV2aWNlIGNoYXJhY3RlcmlzdGljcyBhcmUgbm90IGtub3duLiBUaGlz
IGNhbiBiZSB1c2VkIHRvIHBydW5lIHRoZSBsb2FkaW5nCiAgKiBvZiBzdHlsZXNoZWV0cyB0byBv
bmx5IHRob3NlIHdoaWNoIGFyZSBwcm9iYWJsZSB0byBtYXRjaC4KICAqLwotY2xhc3MgTWVkaWFR
dWVyeUV2YWx1YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeUV2YWx1YXRvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIC8qKiBDcmVhdGVzIGV2YWx1
YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBzaW1wbGUgbWVkaWEgcXVlcmllcwogICAgICAqICBF
dmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciAiYWxsIiwgYW5kIHJldHVybnMgdmFsdWUgb2YgXG1l
ZGlhRmVhdHVyZVJlc3VsdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5o
IGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCmluZGV4IDcyZDNmZmYuLjdlNGQ0NzcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAorKysgYi9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5l
ci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNw
cApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFzeW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0
U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBDYWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChl
bGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAgICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2
ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2Vf
cGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKKyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFw
cGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5y
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYoKXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgog
ICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJD
b3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCmluZGV4IDFhMDUxYTguLjNmNzFkZjMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20v
QXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERv
Y3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVudDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVu
bmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEFzeW5jU2NyaXB0UnVu
bmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KSB7IHJldHVybiBuZXcgQXN5bmNTY3JpcHRS
dW5uZXIoZG9jdW1lbnQpOyB9CiAgICAgfkFzeW5jU2NyaXB0UnVubmVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaCBiL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
CmluZGV4IDg2YTIyYjAuLjc1MTRhYjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RPTVN0cmlu
Z01hcC5oCisrKyBiL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCkBAIC0yNyw3ICsyNyw2IEBA
CiAjZGVmaW5lIERPTVN0cmluZ01hcF9oCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBFbGVtZW50OwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAotY2xhc3MgRE9N
U3RyaW5nTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVN0cmluZ01hcCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NU3RyaW5nTWFwKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NU3RyaW5nTWFwKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApp
bmRleCBjMDg4ZTRlLi45ZjgyODQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00NjU4LDcgKzQ2NTgsOSBAQCB2
b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlw
ZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAogICAgICAgICB3aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVz
c2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDogTm9uY29weWFibGUgeworc3RydWN0
IFBlcmZvcm1UYXNrQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRh
c2tDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUGVyZm9y
bVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1lbnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJl
ZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQog
ICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRvY3VtZW50UmVmZXJlbmNlKQogICAgICAgICAs
IHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZm
YjdmMy4uZTEyZjIzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAg
LTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7
CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgorICAgIERvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgfQogICAgIH5Eb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIoKSB7IGRldGFjaCgpOyB9CiAKICAgICB2b2lkIGRldGFjaCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5k
ZXggZjA1ZDM2Yy4uY2Q0OWRlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuaAorKysg
Yi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0yNCw2ICsyNCw3IEBACiAjaWZuZGVmIEV2ZW50X2gK
ICNkZWZpbmUgRXZlbnRfaAogCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiRE9N
VGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpAQCAtMzEsOCArMzIsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAg
ICBjbGFzcyBDbGlwYm9hcmQ7Ci0KICAgICBjbGFzcyBFdmVudCA6IHB1YmxpYyBSZWZDb3VudGVk
PEV2ZW50PiB7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFBoYXNlVHlwZSB7IApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CmluZGV4IDQ5NjgwNGUuLjY4NmQ5YjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE3OCw3ICsxNzgsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1Jf
RUFDSAogCi0gICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRXZlbnROYW1lcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TmFt
ZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVk
ZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRl
IHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2
ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCBkZGNiNjYz
Li44MWVlYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcgKzgzLDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLCAxPiBFdmVu
dExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIEV2ZW50
TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFwOwogCi0gICAgc3RydWN0IEV2ZW50VGFy
Z2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRUYXJnZXREYXRhIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRUYXJnZXREYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBFdmVudFRhcmdldERhdGEoKTsKICAg
ICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9JZ25v
cmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9kb20vSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNy
ZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudElu
Y3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2
ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEln
bm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IG1fY291bnQoZG9jdW1lbnQg
PyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50IDogMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvV2ViQ29yZS9kb20vTWVzc2Fn
ZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMDc2NjhhNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRD
aGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8g
TWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRv
IHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4KICAgICAvLyBJdCBhY3RzIGFz
IGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQ
b3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHBsYXRmb3Jt
LWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4K
LSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQ
b3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBAIC03OCw3ICs3OSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm94eSBjdXJy
ZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9ydC4KICAgICAgICAgYm9vbCBoYXNQ
ZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBFdmVudERhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEgeworICAgICAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
ICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEV2ZW50RGF0YT4gY3Jl
YXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdl
UG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IGFiMjA4ZDIuLjczNTBmODAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IE5vZGVM
aXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0
YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNl
dDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAgICBOb2RlTGlzdFNldCBtX2xpc3Rz
V2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAgcHJpdmF0ZToKICAgICB9CiB9Owog
ICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5v
ZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6ICAgIAogICAgIE5vZGVSYXJlRGF0YSgpCiAg
ICAgICAgIDogbV90YWJJbmRleCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IDM0ZmMwNjkuLmNiOTVm
MjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9XZWJDb3Jl
L2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTMyLDcgKzMyLDggQEAgc3RydWN0IFF1YWxpZmllZE5h
bWVDb21wb25lbnRzIHsKICAgICBTdHJpbmdJbXBsKiBtX25hbWVzcGFjZTsKIH07CiAKLWNsYXNz
IFF1YWxpZmllZE5hbWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBRdWFsaWZpZWRO
YW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBjbGFzcyBR
dWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3VudGVkPFF1YWxpZmllZE5hbWVJbXBsPiB7
CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4IDA3YzU5ZGIuLjUyNTBmM2UgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVudDsKIGNsYXNz
IFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hl
ZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBp
c0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjQ1NjZhNjEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CisgICAgICAgICAgICBUYXNrKCkg
eyB9CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7CiAgICAgICAgICAgICB2aXJ0dWFsIHZv
aWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKICAgICAgICAgICAg
IC8vIENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVjaWFsbHkgc28gdGhhdCB0aGV5IGFyZW4n
dCBkaXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdoZW4gdGhlIGNvbnRleHQgaXMgc2h1dHRp
bmcgZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NwYWNl
U3BsaXRTdHJpbmcuaCBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAppbmRleCA4MjZl
NmJkLi42ZWI4OTNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgK
KysrIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCkBAIC0yOCw3ICsyOCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNwYWNlU3BsaXRTdHJpbmdEYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5nRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNlU3BsaXRTdHJpbmdEYXRhKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTcGFjZVNwbGl0U3RyaW5n
RGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzaG91bGRGb2xkQ2FzZSkKICAgICAgICAg
ICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRGb2xkQ2FzZShzaG91bGRGb2xkQ2FzZSks
IG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKaW5kZXggZjk3YWZjZi4u
NmMwMTRhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKKysrIGIv
V2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFC
TEUoWFNMVCkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVRyYW5zZm9ybVNv
dXJjZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2UgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQbGF0Zm9ybVRyYW5zZm9y
bVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJjZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJH
ZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyR2Vz
dHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJHZXN0dXJlSW5k
aWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzYsNyArMzUsOCBA
QCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5Tm90UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0
YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KICAgICBzdGF0
aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0
dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9V
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1VzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVXNlclR5
cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRv
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyVHlw
aW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxlbWVudEF0R2VzdHVyZVN0
YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oIGIvV2Vi
Q29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2MyLi5lZTgxZDc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvZG9t
L1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRh
YmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8WE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZy
YW1lVmlldyogdmlldykKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGli
eG1sMi5jcHAKaW5kZXggMjNmOTg4My4uYmNiYTMyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlckxpYnhtbDIuY3BwCkBAIC03NSw4ICs3NSwxMCBAQCB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBlbmRpbmdDYWxsYmFja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAgUGVuZGluZ0NhbGxi
YWNrcygpIHsgfQogICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKICAgICB7CiAgICAgICAgIGRlbGV0
ZUFsbFZhbHVlcyhtX2NhbGxiYWNrcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1
bWVudFBhcnNlclNjb3BlLmggYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgK
aW5kZXggNThlOGE2Yi4uOGY0MTkzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKICNk
ZWZpbmUgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogI2lmIEVOQUJMRShYU0xUKQogI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CkBAIC0z
Niw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENhY2hlZFJlc291
cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTERvY3VtZW50UGFyc2VyU2NvcGUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZShDYWNoZWRSZXNvdXJjZUxvYWRlciog
Y2FjaGVkUmVzb3VyY2VMb2FkZXIpOwogICAgICAgICB+WE1MRG9jdW1lbnRQYXJzZXJTY29wZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKaW5kZXggMTI4NmMwNy4u
NGQ5MjhjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXIuaAorKysgYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCkBAIC0z
Niw3ICszNiw4IEBAIGNsYXNzIEhUTUxFbGVtZW50OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xh
c3MgVmlzaWJsZVNlbGVjdGlvbjsKIAotY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWxldGVCdXR0b25Db250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEZWxldGVCdXR0b25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlcihGcmFtZSop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRleCBm
YjUyZTU2Li4xYzdiNzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZC5jcHAKQEAgLTU5LDcgKzU5LDggQEAgZW51bSBFRnJhZ21lbnRUeXBlIHsgRW1wdHlGcmFn
bWVudCwgU2luZ2xlVGV4dE5vZGVGcmFnbWVudCwgVHJlZUZyYWdtZW50IH07CiAKIC8vIC0tLSBS
ZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1jbGFzcyBSZXBsYWNlbWVudEZyYWdt
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2VtZW50RnJhZ21lbnQpOwogcHVibGljOgog
ICAgIFJlcGxhY2VtZW50RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1bWVudEZyYWdtZW50KiwgYm9v
bCBtYXRjaFN0eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvU2Vs
ZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDhjYzg5ZTQuLmQ1NTYwZjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5n
L1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlNjcm9s
bEJlaGF2aW9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0
aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKIGVudW0gRGly
ZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24sIE1ha2VEaXJl
Y3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVy
YXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rpb25Gb3J3YXJkLCBE
aXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxlZnQgfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBiL1dlYkNvcmUvZWRp
dGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCAyMjc1MzBmLi44YjVjNjkxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysrIGIvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAg
ICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNzIFRleHRDaGVja2lu
Z0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBlcik7CiBwdWJsaWM6
CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NSZWZQdHI8UmFuZ2U+
KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmlu
ZGV4IGEzZWRkMzguLjYxYzllZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC02MSw3
ICs2MSw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBDYXNlIGZvbGRpbmcgaXMg
YWxzbyBkb25lIGlmIHRoZSBDYXNlSW5zZW5zaXRpdmUgb3B0aW9uIGlzIHNwZWNpZmllZC4KIC8v
IE1hdGNoZXMgYXJlIGZ1cnRoZXIgZmlsdGVyZWQgaWYgdGhlIEF0V29yZFN0YXJ0cyBvcHRpb24g
aXMgc3BlY2lmaWVkLCBhbHRob3VnaCBzb21lCiAvLyBtYXRjaGVzIGluc2lkZSBhIHdvcmQgYXJl
IHBlcm1pdHRlZCBpZiBUcmVhdE1lZGlhbENhcGl0YWxBc1dvcmRTdGFydCBpcyBzcGVjaWZpZWQg
YXMgd2VsbC4KLWNsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTZWFyY2hCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlYXJjaEJ1ZmZlcik7
CiBwdWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBGaW5kT3B0
aW9ucyk7CiAgICAgflNlYXJjaEJ1ZmZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBp
L0ZpbGVUaHJlYWQuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKaW5kZXggZDdhYWJm
Ny4uNDUyMDVjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaAorKysg
Yi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCkBAIC01NCw3ICs1NCw4IEBAIHB1YmxpYzoK
ICAgICBib29sIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9wKCk7CiAKLSAgICBjbGFzcyBUYXNrIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGFzayk7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5UYXNrKCkg
eyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygpID0gMDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvZmlsZWFwaS9Mb2Nh
bEZpbGVTeXN0ZW0uaAppbmRleCBiNzc5YTVmLi4xMmE3MDEyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmls
ZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFjazsKIGNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEtlZXBzIHBlci1wcm9jZXNzIGluZm9y
bWF0aW9uIGFuZCBwcm92aWRlcyBhbiBlbnRyeSBwb2ludCB0byBvcGVuIGEgZmlsZSBzeXN0ZW0u
Ci1jbGFzcyBMb2NhbEZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9j
YWxGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbEZpbGVTeXN0ZW0p
OwogcHVibGljOgogICAgIC8vIFJldHVybnMgYSBwZXItcHJvY2VzcyBpbnN0YW5jZSBvZiBMb2Nh
bEZpbGVTeXN0ZW0uCiAgICAgLy8gTm90ZSB0aGF0IExvY2FsRmlsZVN5c3RlbTo6aW5pdGlhbGl6
ZUxvY2FsRmlsZVN5c3RlbSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2Fs
bGJhY2tIZWxwZXIuaAppbmRleCAyNWU2NzM5Li4wMjBhYzQ5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL1N5bmND
YWxsYmFja0hlbHBlci5oCkBAIC01OCw3ICs1OCw4IEBAIGNsYXNzIEZpbGVFbnRyeVN5bmM7CiAK
IC8vIEEgaGVscGVyIHRlbXBsYXRlIGZvciBGaWxlU3lzdGVtU3luYyBpbXBsZW1lbnRhdGlvbi4K
IHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNjZXNzQ2FsbGJhY2ssIHR5cGVuYW1lIE9ic2VydmVyVHlw
ZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcsIHR5cGVuYW1lIFJlc3VsdFR5cGU+Ci1jbGFzcyBTeW5j
Q2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3luY0NhbGxiYWNr
SGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTeW5jQ2FsbGJhY2tIZWxwZXIpOwog
cHVibGljOgogICAgIHR5cGVkZWYgU3luY0NhbGxiYWNrSGVscGVyPFN1Y2Nlc3NDYWxsYmFjaywg
T2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0FyZywgUmVzdWx0VHlwZT4gSGVscGVyVHlwZTsKICAgICBT
eW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2ZXJUeXBlKiBvYnNlcnZlciA9IDApCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmggYi9XZWJDb3JlL2hpc3Rv
cnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKaW5kZXggZTg5ZTMyYi4uOTdlZDZiOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lm
bmRlZiBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAogI2RlZmluZSBCYWNrRm9yd2FyZENvbnRyb2xs
ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAgLTM2LDcgKzM1LDggQEAgY2xhc3Mg
QmFja0ZvcndhcmRMaXN0OwogY2xhc3MgSGlzdG9yeUl0ZW07CiBjbGFzcyBQYWdlOwogCi1jbGFz
cyBCYWNrRm9yd2FyZENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQmFj
a0ZvcndhcmRDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCYWNrRm9yd2Fy
ZENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBCYWNr
Rm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NSZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAg
ICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQu
LmNmMmEwZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9X
ZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5
SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAotICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBmcmllbmQgUGFnZUNhY2hlKiBwYWdlQ2FjaGUoKTsKICAgICAgICAgCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmggYi9XZWJDb3JlL2h0bWwv
Q29sbGVjdGlvbkNhY2hlLmgKaW5kZXggZGYxZDFmYS4uOGU0YTA2NiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9u
Q2FjaGUuaApAQCAtMjksNyArMjksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVs
ZW1lbnQ7CiAKLXN0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDb2xsZWN0aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGlj
OgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwogICAgIENvbGxlY3Rpb25DYWNoZShjb25zdCBDb2xs
ZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUmIG9wZXJhdG9yPShjb25zdCBDb2xs
ZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxl
VG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAppbmRleCAy
YjcxMWI0Li44ZjZmZDRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tl
bkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaApAQCAtMzUs
NiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBET01TZXR0YWJsZVRva2Vu
TGlzdCA6IHB1YmxpYyBET01Ub2tlbkxpc3QsIHB1YmxpYyBSZWZDb3VudGVkPERPTVNldHRhYmxl
VG9rZW5MaXN0PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLjBiNzViNjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAg
LTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBF
bGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01Ub2tlbkxpc3Qp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBET01Ub2tlbkxpc3QoKSB7
IH0KICAgICB2aXJ0dWFsIH5ET01Ub2tlbkxpc3QoKSB7fTsKIAogICAgIHZpcnR1YWwgdm9pZCBy
ZWYoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggMjYzYTA1Ny4uNzBiOTA5
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMTIxMSw3ICsxMjExLDkgQEAgYm9v
bCBIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSgpIGNv
bnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdHJ1Y3QgRXZlbnRIYW5kbGluZ1N0YXRlIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgRXZlbnRIYW5kbGluZ1N0YXRlIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBSZWZQdHI8SFRNTElucHV0RWxlbWVudD4g
bV9jdXJyUmFkaW87CiAgICAgYm9vbCBtX2luZGV0ZXJtaW5hdGU7CiAgICAgYm9vbCBtX2NoZWNr
ZWQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oIGIvV2ViQ29y
ZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAppbmRleCA1MGRlNzEwLi4zYmYyMmE0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCisrKyBiL1dlYkNvcmUvaHRtbC9I
VE1MUGFyc2VyUXVpcmtzLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MUGFyc2Vy
UXVpcmtzX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTm9kZTsKIAotY2xhc3Mg
SFRNTFBhcnNlclF1aXJrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2Vy
UXVpcmtzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyUXVpcmtzKTsKIHB1
YmxpYzoKICAgICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9CiAgICAgdmlydHVhbCB+SFRNTFBhcnNl
clF1aXJrcygpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGYyNzVhZTguLmM3MTdjMTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgK
QEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgUmVuZGVyU3R5bGU7CiAvLyBB
biBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHR5cGUtc3BlY2lmaWMgcGFydCBvZiBh
biBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4cG9zZSBpbnN0YW5jZXMgb2YgSW5wdXRU
eXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0byBjbGFzc2VzCiAvLyBvdGhlciB0aGFu
IEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1dFR5cGUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dFR5cGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5n
Jik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGVUZXh0KEhUTUxJbnB1
dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaCBiL1dlYkNv
cmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4xZjE2NmJmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCkBA
IC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdlX2gKIAogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAotY2xhc3MgU3RlcFJhbmdlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29sIGhhc1N0ZXA7CiAgICAgZG91Ymxl
IHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaCBiL1dl
YkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IGZlMThiNmIuLmY4M2E1ZTggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFZhbGlk
YXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRlKEhUTUxGb3JtQ29udHJvbEVsZW1l
bnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDUz
MmRkYjIuLmMzZmNkZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgK
KysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAtMjksNyArMjksOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5U3RhdGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFZhbGlkaXR5U3RhdGU+IGNyZWF0ZShIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50KiBjb250cm9sKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dC5oIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0LmgKaW5kZXggYTI1ZThhMS4uMTU5NDU0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJHcmFwaGljc0xheWVyLmgiCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBIVE1MVmlkZW9FbGVt
ZW50OwogY2xhc3MgS1VSTDsKIGNsYXNzIFdlYkdMT2JqZWN0OwogCi1jbGFzcyBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDYW52YXNSZW5kZXJp
bmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+Q2FudmFzUmVuZGVy
aW5nQ29udGV4dCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVs
b2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCmlu
ZGV4IDdhYzI4MmYuLmZhZTk1YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2Fu
bmVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENTU1ByZWxvYWRTY2FubmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1ByZWxvYWRTY2FubmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBwdWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNj
YW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Q29uc3RydWN0aW9uU2l0ZS5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9u
U2l0ZS5oCmluZGV4IDhiMDliZjUuLmZmNjE4NmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJIVE1MRWxl
bWVudFN0YWNrLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAg
LTQwLDcgKzM5LDggQEAgY2xhc3MgQXRvbWljSFRNTFRva2VuOwogY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBFbGVtZW50OwogCi1jbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSFRNTENvbnN0cnVjdGlvblNpdGUpOwogcHVibGljOgogICAgIEhUTUxDb25zdHJ1
Y3Rpb25TaXRlKERvY3VtZW50KiwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLCBib29sIGlz
UGFyc2luZ0ZyYWdtZW50KTsKICAgICB+SFRNTENvbnN0cnVjdGlvblNpdGUoKTsKQEAgLTg5LDcg
Kzg5LDggQEAgcHVibGljOgogICAgIEhUTUxGb3JtRWxlbWVudCogZm9ybSgpIGNvbnN0IHsgcmV0
dXJuIG1fZm9ybS5nZXQoKTsgfQogICAgIFBhc3NSZWZQdHI8SFRNTEZvcm1FbGVtZW50PiB0YWtl
Rm9ybSgpOwogCi0gICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQp
OwogICAgIHB1YmxpYzoKICAgICAgICAgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKEhUTUxD
b25zdHJ1Y3Rpb25TaXRlJiB0cmVlKQogICAgICAgICAgICAgOiBtX3RyZWUodHJlZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmggYi9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDA1MDUzZGYuLjVhNTYwMmYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKKysr
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtNTAsNiArNTAs
NyBAQCBjbGFzcyBTY3JpcHRDb250cm9sbGVyOwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAog
Y2xhc3MgSFRNTERvY3VtZW50UGFyc2VyIDogIHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJz
ZXIsIEhUTUxTY3JpcHRSdW5uZXJIb3N0LCBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRN
TERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBv
cnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxl
bWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAppbmRl
eCA4YThlMTYwLi5hMzJlZmFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2su
aApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVudFN0YWNrX2gKIAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAK
IC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2FyZHMgKGdyb3dzIGRvd253YXJk
KSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJkIChncm93cyB1cHdhcmRzKSBz
dGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1lbnRTdGFjayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgSFRNTEVsZW1lbnRTdGFjaygpOwogICAgIH5IVE1MRWxlbWVudFN0YWNrKCk7CiAK
LSAgICBjbGFzcyBFbGVtZW50UmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBFbGVtZW50UmVjb3JkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRWxlbWVudFJl
Y29yZCk7CiAgICAgcHVibGljOgogICAgICAgICB+RWxlbWVudFJlY29yZCgpOyAvLyBQdWJsaWMg
Zm9yIH5QYXNzT3duUHRyKCkKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0LmgKaW5kZXggYWNhMDViYi4uZjc1ZmE1MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKQEAgLTM1LDcgKzM1
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIAogLy8gVGhpcyBtYXkg
ZW5kIHVwIG1lcmdlZCBpbnRvIEhUTUxFbGVtZW50U3RhY2suCi1jbGFzcyBIVE1MRm9ybWF0dGlu
Z0VsZW1lbnRMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QpOwogcHVibGljOgogICAgIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKICAg
ICB+SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0
U3RyZWFtLmgKaW5kZXggYTcwOWJkOS4uNjQyZTQzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJ
bnB1dFN0cmVhbS5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIG1f
bGFzdCBpcyBhIHBvaW50ZXIgdG8gdGhlIGxhc3Qgb2YgdGhlIGFmdGVySW5zZXJ0aW9uUG9pbnQg
c3RyaW5ncy4KIC8vIFRoZSBuZXR3b3JrIGFkZHMgZGF0YSBhdCB0aGUgZW5kIG9mIHRoZSBJbnB1
dFN0cmVhbSwgd2hpY2ggYXBwZW5kcwogLy8gdGhlbSB0byB0aGUgImxhc3QiIHN0cmluZy4KLWNs
YXNzIEhUTUxJbnB1dFN0cmVhbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MSW5w
dXRTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxJbnB1dFN0cmVhbSk7CiBw
dWJsaWM6CiAgICAgSFRNTElucHV0U3RyZWFtKCkKICAgICAgICAgOiBtX2xhc3QoJm1fZmlyc3Qp
CkBAIC0xMjgsNyArMTI5LDggQEAgcHJpdmF0ZToKICAgICBTZWdtZW50ZWRTdHJpbmcqIG1fbGFz
dDsKIH07CiAKLWNsYXNzIEluc2VydGlvblBvaW50UmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEluc2VydGlvblBvaW50UmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJbnNlcnRpb25Qb2ludFJlY29yZCk7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSW5zZXJ0aW9u
UG9pbnRSZWNvcmQoSFRNTElucHV0U3RyZWFtJiBpbnB1dFN0cmVhbSkKICAgICAgICAgOiBtX2lu
cHV0U3RyZWFtKCZpbnB1dFN0cmVhbSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFBhcnNlclNjaGVkdWxlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2No
ZWR1bGVyLmgKaW5kZXggNWJlMzNiMC4uNjQ3NjAyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUGFyc2VyU2NoZWR1bGVyLmgKQEAgLTI4LDE0ICsyOCwxNCBAQAogCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlcjsKIAotY2xhc3MgSFRNTFBhcnNlclNjaGVk
dWxlciA6ICBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBhcnNlclNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclNjaGVkdWxlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxQYXJz
ZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlcikKICAgICB7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAppbmRleCA5NGE5MGU2Li5iZWQ3
N2ZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5o
CisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nhbm5lci5oIgogI2luY2x1ZGUgIkhUTUxU
b2tlbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDggQEAgY2xh
c3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXplcjsKIGNsYXNzIFNlZ21lbnRlZFN0cmlu
ZzsKIAotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBy
ZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSFRN
TFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0
UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uOTg2ZjdiZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
U2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0
LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0
aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBG
cmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3MgU2NyaXB0U291cmNlQ29k
ZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MU2NyaXB0
UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8SFRNTFNjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgSFRN
TFNjcmlwdFJ1bm5lckhvc3QqIGhvc3QpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVG9rZW4uaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKaW5k
ZXggNDJjZGRiOC4uMWNiYzE1MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VG9rZW4uaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCkBAIC0yNywxMyAr
MjcsMTMgQEAKICNkZWZpbmUgSFRNTFRva2VuX2gKIAogI2luY2x1ZGUgIk5hbWVkTm9kZU1hcC5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIEhUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW4gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIFVuaW5pdGlhbGl6ZWQsCkBA
IC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3YW50IHRvIGVuZCB1cCB3aXRoIGEg
Y2xlYW5lciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCiAgICAgZnJpZW5kIGNs
YXNzIEF0b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERvY3R5cGVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvY3R5cGVEYXRh
KCkKICAgICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlmaWVyKGZhbHNlKQpAQCAtMzUyLDcg
KzM1Myw4IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlzIGNsYXNzIHNob3VsZCBldmVudHVh
bGx5IGJlIG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUgdGhlCiAvLyBleGl0aW5nIEhUTUxU
b2tlbiB0byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2VuaXplci4KLWNsYXNzIEF0b21pY0hU
TUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdG9taWNIVE1MVG9rZW4gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxUb2tlbik7CiBwdWJsaWM6CiAgICAg
QXRvbWljSFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV90eXBlKHRva2Vu
LnR5cGUoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5o
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKaW5kZXggZjE2YjA0OS4uYjUw
YWE0MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKKysr
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKQEAgLTI4LDcgKzI4LDYgQEAK
ICNkZWZpbmUgSFRNTFRva2VuaXplcl9oCiAKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmcuaD4KQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgRWxlbWVudDsKIGNsYXNzIEZyYW1lOwogY2xh
c3MgSFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxU
b2tlbml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFN0
YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBAIHB1YmxpYzoKIAog
cHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3Vy
cmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAgICBjbGFzcyBJbnB1
dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW5w
dXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1
dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJbnB1dFN0cmVhbVBy
ZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAgICAgICA6IG1fdG9r
ZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRy
ZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApp
bmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxk
ZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBjbG9zZXN0Rm9ybUFu
Y2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAKLWNsYXNzIEhUTUxU
cmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZm
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZm
ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIo
QXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQodG9rZW4uY2hhcmFj
dGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVy
OjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICBwcm9jZXNzRW5k
VGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9k
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNl
cnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5zZXJ0aW9uTW9kZSk7
CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWlsZGVyKiB0cmVlQnVp
bGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1aWxkZXIodHJlZUJ1
aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5o
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRleCAwZTc1OTdjLi5i
NzQ5ZTc2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5o
CisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKQEAgLTMzLDcgKzMz
LDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgiCiAjaW5jbHVkZSAi
SFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC01
MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1bWVudDsKIGNsYXNz
IE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUcmVl
QnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhUTUxUb2tlbml6ZXIqIHRva2VuaXpl
ciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMsIGJvb2wgdXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MpCiAgICAgewpAQCAtMjAzLDcgKzIwMyw4IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBwcm9jZXNzRm9yZWlnbkNvbnRlbnRVc2luZ0luQm9keU1vZGVBbmRSZXNldE1vZGUo
QXRvbWljSFRNTFRva2VuJiB0b2tlbik7CiAgICAgdm9pZCByZXNldEZvcmVpZ25JbnNlcnRpb25N
b2RlKCk7CiAKLSAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRnJhZ21lbnRQYXJzaW5nQ29udGV4dCk7CiAgICAgcHVibGljOgog
ICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KCk7CiAgICAgICAgIEZyYWdtZW50UGFyc2lu
Z0NvbnRleHQoRG9jdW1lbnRGcmFnbWVudCosIEVsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBGcmFn
bWVudFNjcmlwdGluZ1Blcm1pc3Npb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNl
ci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5n
TGV2ZWxJbmNyZW1lbnRlci5oCmluZGV4IGM1OTc4NzYuLjgxNTU2MzUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAorKysgYi9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKQEAgLTI4LDcgKzI4LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIpOwogcHVibGlj
OgogICAgIGV4cGxpY2l0IE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKHVuc2lnbmVkJiBuZXN0aW5n
TGV2ZWwpCiAgICAgICAgIDogbV9uZXN0aW5nTGV2ZWwoJm5lc3RpbmdMZXZlbCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggYi9XZWJDb3JlL2luc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IDM1MWM1ODQuLjI5MTczNzggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29uc29sZU1lc3NhZ2UuaApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBTY3JpcHRDYWxsRnJhbWU7
CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRWYWx1ZTsKIAotY2xhc3MgQ29u
c29sZU1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29uc29sZU1lc3NhZ2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCB1bnNpZ25lZCBsaSwg
Y29uc3QgU3RyaW5nJiB1LCB1bnNpZ25lZCBnKTsKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNp
Z25lZCBnKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCmluZGV4IGY4MGNmYjQuLmZmOGQz
OGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtMzQsNyArMzQsNiBAQAogI2lu
Y2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAppbmRl
eCAxMWYxMGNlLi40OWJlMmE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpICYmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCiAKICNpbmNsdWRl
ICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQw
LDcgKzM5LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVj
dG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmgKaW5kZXggZTU3YzA4OS4uMjRkZmUxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAwLDcgKzEwMCw4IEBAIGNsYXNzIFdlYlNvY2tldEhh
bmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZTsKICNlbmRp
ZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3Bl
Y3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0
eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZT4gPiBE
YXRhYmFzZVJlc291cmNlc01hcDsKICAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8SW5z
cGVjdG9yRE9NU3RvcmFnZVJlc291cmNlPiA+IERPTVN0b3JhZ2VSZXNvdXJjZXNNYXA7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKaW5kZXggYWRjOTI1YS4uZTEz
NzI5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAt
NTIsNyArNTIsOCBAQCBlbnVtIERlYnVnZ2VyRXZlbnRUeXBlIHsKICAgICBOYXRpdmVCcmVha3Bv
aW50RGVidWdnZXJFdmVudFR5cGUKIH07CiAKLWNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQg
OiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKiwgSW5zcGVjdG9yRnJv
bnRlbmQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKaW5kZXggOWRj
YWE1YS4uYmNlZTFkYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDcgKzQwLDgg
QEAgY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9z
dDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBw
dWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwogICAgIHZp
cnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBlNjc4NDhkLi4xYzQ5YjlkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysrIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICszNSw2IEBA
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDcs
NyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFwU25hcHNo
b3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0
b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciopOwogICAgIHZpcnR1
YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaAppbmRleCBiYzFlMDI3Li44MWFkNDkxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC03MCw3ICs3MCw4IEBAIGVudW0gVGlt
ZWxpbmVSZWNvcmRUeXBlIHsKICAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdFRpbWVsaW5lUmVj
b3JkVHlwZSA9IDIwCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IDogU2NyaXB0
R0NFdmVudExpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kKTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29yZS9s
b2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQuLmRk
ZDUwNzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNz
IENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJ
dGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbShib29sIGNyZWRlbnRpYWxzKQogICAgICAg
ICAgICAgOiBtX2Fic29sdXRlRXhwaXJ5VGltZSgwKQpAQCAtNjMsNyArNjQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEhlYWRlcnNTZXQgbV9oZWFkZXJzOwogICAgIH07CiAKLSAg
ICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUuLjNhM2NjNjQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC00Nyw2ICs0Nyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50Owog
CiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIsIHByaXZh
dGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCAyYWM4ZGQwLi4xNjQwZGRhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlGcmFtZUxvYWRl
ckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSB7ICB9
CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJveWVkKCkgeyB9CiAKQEAgLTM4Myw4
ICszODUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtp
bmdDb250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgpIHsgcmV0dXJuIFBhc3NSZWZQdHI8
RnJhbWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAotY2xhc3MgRW1wdHlFZGl0b3JDbGll
bnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlFZGl0
b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpIHsgfQogCkBA
IC00OTYsOCArNTAwLDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQ29udGV4dE1lbnVDbGll
bnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDog
cHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0
eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Cisg
ICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4
dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVk
KCkgeyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShD
T05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJh
Z0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgorICAgIEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RHJhZ0NsaWVu
dCgpIHt9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
KERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
d2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb24sIGNvbnN0IEludFBv
aW50JiwgQ2xpcGJvYXJkKikgeyB9CkBAIC01MzIsOCArNTQwLDEwIEBAIHB1YmxpYzoKIH07CiAj
ZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGll
bnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbnNw
ZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJt
aXNzaW9uLmggYi9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCmluZGV4IGQ3MjQ4MzUu
LjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaApAQCAtNDcsNyArNDcsOCBAQCBjbGFz
cyBGb3JtU3VibWlzc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPEZvcm1TdWJtaXNzaW9uPiB7CiBw
dWJsaWM6CiAgICAgZW51bSBNZXRob2QgeyBHZXRNZXRob2QsIFBvc3RNZXRob2QgfTsKIAotICAg
IGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEF0dHJp
YnV0ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdHRyaWJ1dGVzKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIEF0dHJpYnV0ZXMoKQogICAgICAgICAgICAgOiBtX21ldGhvZChHZXRN
ZXRob2QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3NmFkOTc3Li42YTc2M2QwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKQEAgLTg2LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCiBib29s
IGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAotY2xhc3MgRnJhbWVMb2Fk
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlcihG
cmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9hZGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oIGIvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBjMzQwOGMyLi4xZGRmMmVhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKQEAgLTI5LDEzICsyOSwx
MyBAQAogI2lmbmRlZiBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAjZGVmaW5lIEZyYW1lTG9h
ZGVyU3RhdGVNYWNoaW5lX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRlIG1hY2hpbmUgZm9yIEZy
YW1lTG9hZGVyLiBOb3RlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBGcmFtZVN0YXRlLAog
Ly8gd2hpY2ggc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBsb2FkIHRoYXQgRnJhbWVM
b2FkZXIgaXMgZXhlY3V0aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lKTsKIHB1YmxpYzoKICAg
ICBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9IaXN0b3J5Q29udHJvbGxlci5oIGIvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIu
aAppbmRleCAxYmY1MDcyLi40ZmI4NjNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9IaXN0
b3J5Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgK
QEAgLTMyLDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAs
OCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogCi1jbGFzcyBIaXN0b3J5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIaXN0b3J5Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SGlzdG9yeUNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIGVudW0gSGlzdG9yeVVwZGF0ZVR5cGUg
eyBVcGRhdGVBbGwsIFVwZGF0ZUFsbEV4Y2VwdEJhY2tGb3J3YXJkTGlzdCB9OwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5jcHAKaW5kZXggOTRhMjFhNC4uYTgzNmY3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cApAQCAtNTcsNyArNTcsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZUNoZWNrPFdlYkNvcmU6
OkltYWdlTG9hZGVyKj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEltYWdlRXZl
bnRTZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VFdmVudFNlbmRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CmluZGV4IDdjNjkxYWUuLmNhZmM5ZWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
U2NoZWR1bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVs
ZWROYXZpZ2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0
aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2NoZWR1bGVkTmF2
aWdhdGlvbihkb3VibGUgZGVsYXksIGJvb2wgbG9ja0hpc3RvcnksIGJvb2wgbG9ja0JhY2tGb3J3
YXJkTGlzdCwgYm9vbCB3YXNEdXJpbmdMb2FkLCBib29sIGlzTG9jYXRpb25DaGFuZ2UpCiAgICAg
ICAgIDogbV9kZWxheShkZWxheSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaAppbmRl
eCAxNDAwYzI1Li5mMTRkMDUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCkBA
IC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEZyYW1lOwogc3RydWN0IEZyYW1lTG9hZFJlcXVlc3Q7CiBj
bGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uOwogCi1jbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE5hdmlnYXRpb25TY2hlZHVsZXIpOwogcHVibGljOgogICAgIE5h
dmlnYXRpb25TY2hlZHVsZXIoRnJhbWUqKTsKICAgICB+TmF2aWdhdGlvblNjaGVkdWxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCmluZGV4IGViNDMxNjYuLjNmNTYzYTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL1BpbmdMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKQEAg
LTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5j
bHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKIC8vIHRvIGFsbG93IHRoZSBsb2FkIHRvIGxpdmUgbG9uZyBl
bm91Z2ggdG8gZW5zdXJlIHRoZSBtZXNzYWdlIHdhcyBhY3R1YWxseSBzZW50LgogLy8gVGhlcmVm
b3JlLCBhcyBzb29uIGFzIGEgY2FsbGJhY2sgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgUmVzb3VyY2VI
YW5kbGUsIHRoaXMgY2xhc3MgCiAvLyB3aWxsIGNhbmNlbCB0aGUgbG9hZCBhbmQgZGVsZXRlIGl0
c2VsZi4KLWNsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50LCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VI
YW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBpbmdMb2FkZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkSW1hZ2Uo
RnJhbWUqLCBjb25zdCBLVVJMJiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIHNlbmRQaW5nKEZyYW1l
KiwgY29uc3QgS1VSTCYgcGluZ1VSTCwgY29uc3QgS1VSTCYgZGVzdGluYXRpb25VUkwpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIv
UG9saWN5Q2hlY2tlci5oCmluZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVj
a2VyLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKIGNsYXNzIFJl
c291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBQb2xpY3lDaGVj
a2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBvbGljeUNoZWNrZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBvbGljeUNoZWNrZXIpOwogcHVibGljOgogICAgIFBvbGljeUNo
ZWNrZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggY2QxNTQz
My4uNjVkZDFjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNw
cAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01MCw3ICs1MCw5
IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAg
LSBpbml0aWFsUHJvZ3Jlc3NWYWx1ZQogCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzSXRlbURl
ZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKLXN0cnVjdCBQcm9ncmVzc0l0ZW0g
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQcm9ncmVzc0l0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBQcm9ncmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNl
aXZlZCgwKQogICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9n
cmVzc1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi42MGViOGZlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1Ry
YWNrZXIuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1
LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dy
ZXNzSXRlbTsKIAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFByb2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jl
c3NUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvZ3Jl
c3NUcmFja2VyKCk7CiAgICAgflByb2dyZXNzVHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUmVxdWVzdC5oIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCmluZGV4IGI2ZGUz
MTIuLjE1NzFkMWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIENhY2hlZFJlc291cmNlOwogICAgIGNsYXNzIENhY2hlZFJlc291cmNl
TG9hZGVyOwogCi0gICAgY2xhc3MgUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcXVlc3QpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlcXVlc3QoQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwsIFNl
Y3VyaXR5Q2hlY2tQb2xpY3ksIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyk7CiAgICAg
ICAgIH5SZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRO
b3RpZmllci5oIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAppbmRleCAy
ZjEwODU2Li4yNzA0MDZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRO
b3RpZmllci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpZm5kZWYgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogI2RlZmluZSBS
ZXNvdXJjZUxvYWROb3RpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0Miw4IEBAIGNsYXNzIFJlc291cmNlTG9h
ZGVyOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIAot
Y2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UmVzb3VyY2VMb2FkTm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNl
TG9hZE5vdGlmaWVyKTsKIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWROb3RpZmllcihGcmFtZSop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCmluZGV4IDg0Zjg4NDUuLjI5
Yzc0ZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5o
CisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC0yOSw3ICsy
OSw2IEBACiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTdWJyZXNvdXJj
ZUxvYWRlcjsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50OwogCi1jbGFzcyBSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWRTY2hlZHVs
ZXIpOwogcHVibGljOgogICAgIGZyaWVuZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNl
TG9hZFNjaGVkdWxlcigpOwogCkBAIC02Niw3ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBz
Y2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJl
ZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Kik7CiAKLSAgICBjbGFzcyBIb3N0SW5mb3Jt
YXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RJbmZvcm1hdGlvbik7CiAgICAgcHVi
bGljOgogICAgICAgICBIb3N0SW5mb3JtYXRpb24oY29uc3QgU3RyaW5nJiwgdW5zaWduZWQpOwog
ICAgICAgICB+SG9zdEluZm9ybWF0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9T
dWJmcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRleCBh
NTczMDQ1Li5kMTFkOWI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU0LDcg
KzUzLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdldDsKIAogLy8gVGhpcyBpcyBhIHNsaWdo
dCBtaXNub21lci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljIG9mIGxvYWRpbmcg
Ym90aCBzdWJmcmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFzcyBTdWJmcmFtZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU3ViZnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIFN1YmZyYW1lTG9hZGVyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBmNDFhNzc0Li5iYzFhM2Jh
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVm
IFRocmVhZGFibGVMb2FkZXJfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyX2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkg
dGhyZWFkIChub3QgdGhyZWFkc2FmZSwgCiAgICAgLy8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJl
YWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9h
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKQEAgLTc1LDYgKzc1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2Fk
ZXIoKTsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9
CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVh
bCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
ZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
Q2xpZW50LmgKaW5kZXggYmNmNjhiZS4uY2VhOGIwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZGFibGVM
b2FkZXJDbGllbnRfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkYWJsZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9u
ZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQq
LykgeyB9CiAKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50KCkgeyB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlckNsaWVudFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJD
bGllbnRXcmFwcGVyLmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAj
ZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVh
ZGFibGVMb2FkZXJDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29y
ZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLjY1Y2M2Mzcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVx
dWVzdERhdGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJl
ZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVy
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdvcmtlckNvbnRleHQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2Vy
VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYgb3B0aW9ucykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUdyb3VwLmgKaW5kZXggMjlkMDc0OS4uOTFhYzI4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNs
dWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC01Myw3ICs1Miw4IEBAIGVudW0gQXBwbGlj
YXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAgQXBwbGljYXRpb25DYWNoZVVwZGF0ZVdpdGhv
dXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IHB1
YmxpYyBOb25jb3B5YWJsZSwgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgQXBwbGljYXRp
b25DYWNoZUdyb3VwIDogUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2FjaGVHcm91cChjb25zdCBLVVJMJiBtYW5pZmVzdFVS
TCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7ICAgIAogICAgIH5BcHBsaWNhdGlvbkNhY2hlR3JvdXAo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCmlu
ZGV4IDhhYzUzNTcuLmExZjI4NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZUhvc3QuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAjZW5kaWYKIAotICAgIGNsYXNz
IEFwcGxpY2F0aW9uQ2FjaGVIb3N0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBB
cHBsaWNhdGlvbkNhY2hlSG9zdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxp
Y2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhl
IEhUTUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjhiZmRm
MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVT
dG9yYWdlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UuaApAQCAtNDQsNyArNDQsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3Jh
Z2VJREpvdXJuYWw7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAotY2xhc3MgQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJl
UmVhc29uIHsKICAgICAgICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xv
YWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi5m
ZDJkZGJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJj
ZUNvbGxlY3Rpb24uaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJj
ZUNvbGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24oKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggOWE1NGM1My4uYWU2Zjc1MSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIFJlcXVlc3Q7
CiAvLyBBIHJlc291cmNlIHRoYXQgaXMgaGVsZCBpbiB0aGUgY2FjaGUuIENsYXNzZXMgd2hvIHdh
bnQgdG8gdXNlIHRoaXMgb2JqZWN0IHNob3VsZCBkZXJpdmUKIC8vIGZyb20gQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQsIHRvIGdldCB0aGUgZnVuY3Rpb24gY2FsbHMgaW4gY2FzZSB0aGUgcmVxdWVzdGVk
IGRhdGEgaGFzIGFycml2ZWQuCiAvLyBUaGlzIGNsYXNzIGFsc28gZG9lcyB0aGUgYWN0dWFsIGNv
bW11bmljYXRpb24gd2l0aCB0aGUgbG9hZGVyIHRvIG9idGFpbiB0aGUgcmVzb3VyY2UgZnJvbSB0
aGUgbmV0d29yay4KLWNsYXNzIENhY2hlZFJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIENhY2hlZFJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRS
ZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBNZW1v
cnlDYWNoZTsKICAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2U7CiAgICAgCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oIGIvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAppbmRleCAyNzVkMzMxLi4y
MWVhMDI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNs
aWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgK
QEAgLTI1LDcgKzI1LDYgQEAKICNpZm5kZWYgQ2FjaGVkUmVzb3VyY2VDbGllbnRfaAogI2RlZmlu
ZSBDYWNoZWRSZXNvdXJjZUNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5o
PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1
LDggKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAqIGluaGVyaXQgZnJvbSB0aGlz
IGNsYXNzIGFuZCBvdmVybG9hZCBvbmUgb2YgdGhlIDMgZnVuY3Rpb25zCiAgICAgICoKICAgICAg
Ki8KLSAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
Ci0gICAgeworICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRS
ZXNvdXJjZUNsaWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaAppbmRleCBmMzcxYTBlLi42ZDRhN2EzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VM
b2FkZXI7CiBjbGFzcyBLVVJMOwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdl
cyB0aGUgbG9hZGluZyBvZiBzY3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUg
ZG9jdW1lbnQuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIGZyaWVu
ZCBjbGFzcyBNZW1vcnlDYWNoZTsKIGZyaWVuZCBjbGFzcyBJbWFnZUxvYWRlcjsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTVjZTlkYS4uZDA4NDllNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5oCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAibG9hZGVyLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTcxLDcgKzcwLDggQEAgY2xhc3MgS1VS
TDsKIC8vIGl0cyBtZW1iZXIgdmFyaWFibGVzKSBhcmUgYWxsb2NhdGVkIGluIG5vbi1wdXJnZWFi
bGUgVEMtbWFsbG9jJ2QgbWVtb3J5IHNvIHdlIHdvdWxkIHNlZSBzbGlnaHRseQogLy8gbW9yZSBt
ZW1vcnkgdXNlIGR1ZSB0byB0aGlzLgogCi1jbGFzcyBNZW1vcnlDYWNoZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZW1vcnlDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TWVtb3J5Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBmcmll
bmQgTWVtb3J5Q2FjaGUqIGNhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2lj
b24vSWNvbkRhdGFiYXNlLmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCmlu
ZGV4IDYxNDZhYTYuLmVjODdiZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNv
bkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaApAQCAt
MzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNo
Lmg+CiAKQEAgLTYyLDggKzYxLDggQEAgZW51bSBJY29uTG9hZERlY2lzaW9uIHsKICAgICBJY29u
TG9hZFVua25vd24KIH07CiAKLWNsYXNzIEljb25EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7Ci0KK2NsYXNzIEljb25EYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNv
bkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAvLyAqKiogTWFpbiBUaHJlYWQg
T25seSAqKioKIHB1YmxpYzoKICAgICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQq
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50Lmgg
Yi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2Qu
LjRhZTJlYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xp
ZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAt
MzAsMTUgKzMwLDE2IEBACiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwg
b2YgdGhlc2UgY2xpZW50IG1ldGhvZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRo
cmVhZAogLy8gVGFrZSBhcHByb3ByaWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0
YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBJY29u
RGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5JY29uRGF0YWJhc2VDbGllbnQoKSB7
IH0KICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybUltcG9ydCgpIHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZW1vdmVBbGxJY29ucygpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaAppbmRleCAxZWJhYzQ4Li43ZDgwODliIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25M
b2FkZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXJD
bGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMzcsNyArMzYsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEtVUkw7CiBjbGFzcyBTaGFyZWRC
dWZmZXI7CiAKLWNsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3Vi
cmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25Mb2Fk
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxJY29uTG9hZGVyPiBjcmVhdGUoRnJhbWUqKTsKICAgICB+SWNvbkxvYWRlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmggYi9XZWJDb3JlL2xv
YWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAppbmRleCBmN2NjYjhmLi5hNWU1NWFkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEsNyArNTAsOCBA
QCBwdWJsaWM6CiAgICAgU3RyaW5nIGljb25VUkw7CiB9OwogCi1jbGFzcyBQYWdlVVJMUmVjb3Jk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhZ2VVUkxSZWNvcmQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBhZ2VVUkxSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAg
flBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKaW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
QEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0Owog
Ci0gICAgY2xhc3MgTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291
cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGlj
OgorICAgICAgICBMb2FkZXIoKSB7IH0KICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZv
aWQgbG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNy
ZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJv
b2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjczMTMxZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMg
UmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNh
dGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmlj
YXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYgY29udGVudHMsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRy
PE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJv
bGxlci5oCmluZGV4IDgzM2I5MDkuLmEyNGQxMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29udGV4dE1lbnVDb250cm9sbGVy
X2gKICNkZWZpbmUgQ29udGV4dE1lbnVDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQwLDcgKzM5LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50OwogICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBj
bGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENvbnRleHRNZW51Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKFBhZ2UqLCBDb250ZXh0TWVudUNs
aWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxl
ci5oCmluZGV4IDBlOTBhNTIuLjM2MGU0NjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFn
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC00Nyw3
ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSYW5nZTsKICAgICBjbGFz
cyBTZWxlY3Rpb25Db250cm9sbGVyOwogICAgIAotICAgIGNsYXNzIERyYWdDb250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEcmFnQ29udHJvbGxlciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERyYWdDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0Ns
aWVudCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBj
YTE5YTBjLi40NzgwNjE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgK
KysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVy
biBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxi
YXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9Owog
Ci1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRI
YW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGlj
OgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIy
Miw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAg
fTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7Cisg
ICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
ICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlKCkgeyB9CiAgICAgICAg
IFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVsZW1lbnQgdGhhdCBtYXkgYmUgYSBkcmFnIHNv
dXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdlc3R1cmUKICAgICAgICAgYm9vbCBtX2RyYWdT
cmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNJbWFnZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5k
ZXggZmZlZDU5Mi4uMTBhZDZiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTUxLDYgKzUxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKICAgICBjbGFz
cyBFdmVudFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50U291cmNlPiwgcHVibGljIEV2
ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVE
T01PYmplY3QgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
ICAgIHZpcnR1YWwgfkV2ZW50U291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRm9j
dXNDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKaW5kZXggYmU1
MWM3Ny4uMjg1MGQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBAQAog
I2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiU3BhdGlhbE5hdmlnYXRpb24u
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAs
NyArMzksOCBAQCBjbGFzcyBLZXlib2FyZEV2ZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFBhZ2U7
CiAKLWNsYXNzIEZvY3VzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBG
b2N1c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvY3VzQ29udHJvbGxl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvY3VzQ29udHJvbGxl
cihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBA
IC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwog
Ci0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBG
cmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAg
IHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJl
bnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggYjE0ZDExYi4uZjdjMmZlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYs
MTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1
cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMg
aXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3Qg
U2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CisgICAgU2NoZWR1bGVkRXZlbnQoKSB7IH0KICAgICBSZWZQdHI8
RXZlbnQ+IG1fZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+IG1fZXZlbnRUYXJnZXQ7CiB9OwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9w
YWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDdkYjE5NTEuLjlhNWQwMTcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1
ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgR2VvbG9jYXRpb25FcnJvcjsKIGNsYXNz
IEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBHZW9sb2NhdGlvbkNv
bnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25Db250cm9s
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvbkNvbnRyb2xsZXIpOwog
cHVibGljOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQYWdlKiwgR2VvbG9jYXRpb25DbGll
bnQqKTsKICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaAppbmRl
eCBmYjZmNmI1Li4xYmJhZDJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5n
cy5oCisrKyBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKQEAgLTMzLDcgKzMzLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlR3JvdXA7CiAKLWNsYXNzIEdyb3VwU2V0
dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JvdXBTZXR0aW5ncyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+IGNyZWF0
ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKaW5kZXggYTkzODkzMi4uZTQxNzgyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1BhZ2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5j
bHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgiCkBAIC05MCwxMiArODks
MTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgZW51bSBGaW5kRGlyZWN0aW9uIHsgRmlu
ZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJlY3Rpb25CYWNrd2FyZCB9OwogCi0gICAgY2xhc3Mg
UGFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZv
aWQgc2NoZWR1bGVGb3JjZWRTdHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7CiAKICAgICAgICAgLy8g
SXQgaXMgdXAgdG8gdGhlIHBsYXRmb3JtIHRvIGVuc3VyZSB0aGF0IG5vbi1udWxsIGNsaWVudHMg
YXJlIHByb3ZpZGVkIHdoZXJlIHJlcXVpcmVkLgotICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMg
OiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2xpZW50cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYWdlQ2xpZW50cygpOwogICAgICAg
ICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3Jv
dXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3ZmJhLi42ZDdkNmNmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9wYWdlL1Bh
Z2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFBhZ2VHcm91cF9oCiAKICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNjcmlwdC5oIgogI2luY2x1ZGUgIlVzZXJT
dHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAKLSAgICBjbGFzcyBQYWdl
R3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VHcm91cCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwKGNvbnN0IFN0cmluZyYgbmFtZSk7
CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFn
ZUdyb3VwTG9hZERlZmVycmVyLmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVy
LmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VH
cm91cExvYWREZWZlcnJlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJy
ZXIuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJh
bWU7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdyb3VwTG9hZERlZmVycmVyKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiwgYm9vbCBkZWZl
clNlbGYpOwogICAgICAgICB+UGFnZUdyb3VwTG9hZERlZmVycmVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmggYi9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgK
aW5kZXggYWY4YjMxZS4uNWI5NmQxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaApAQCAtMzUsNyArMzUsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRhYmxlUGx1Z2luOwogCi1jbGFzcyBQ
bHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luSGFsdGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0ZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBQbHVnaW5IYWx0ZXIoUGx1Z2luSGFsdGVyQ2xpZW50Kik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKaW5kZXggMDRiMTI2YS4uYjUyNjFiMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTUwLDcgKzUwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5
c0luY2x1ZGVkCiAgICAgfTsKIAotICAgIGNsYXNzIFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTZXR0aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1
dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggNDUzMmQ0OS4uODUzYzBhYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysrIGIvV2ViQ29yZS9wYWdl
L1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJTcGVlY2hJbnB1dExp
c3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRMaXN0ZW5lcjsKIC8vIFRoaXMg
Y2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVpcmluZyBzcGVlY2ggaW5wdXQg
d2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUu
IEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50cyB0byBhY3RpdmF0ZSBz
cGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0aGUgc3BlZWNoIHJlY29nbml0
aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4KLWNsYXNzIFNwZWVjaElucHV0
IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7CitjbGFz
cyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAgICAgU3BlZWNoSW5wdXQoU3Bl
ZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJbnB1dCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgK
aW5kZXggMDY1MjQzOS4uMDUxNDA5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTY3Jp
cHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCkBAIC0zNSw3ICszNSw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNjcmlwdCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2Vy
U2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVXNlclNjcmlw
dChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJsLAogICAgICAgICAgICAgICAg
UGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8
U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVT
aGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKaW5kZXggZmE0MmUyYy4uMDY4
ZGYxZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKKysrIGIvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclN0
eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBVc2VyU3R5
bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJsLAogICAgICAgICAg
ICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25Q
dHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
WFNTQXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaAppbmRleCAyYjc4MWYxLi41
YmVlZDYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCisrKyBiL1dlYkNv
cmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIC8vICogSFRNTERvY3VtZW50UGFyc2VyOjpzaG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRG
cm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4dGVybmFsIEphdmFTY3JpcHQgc2NyaXB0cy4KICAgICAv
LyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+
LzxlbWJlZD4gZWxlbWVudHMuCiAgICAgLy8KLSAgICBjbGFzcyBYU1NBdWRpdG9yIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYU1NBdWRpdG9yIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAgICAgICB+WFNTQXVkaXRvcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBi
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggNjYxNzJmNy4u
Njg1NTFmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNl
LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBAIC0y
MTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZTsKIHN0YXRpYyB2b2lkIGFk
ZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlKiB3cmFw
cGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJC
YXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3BlcnR5V3JhcHBlckJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBlckJhc2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9wZXJ0eVdyYXBwZXJCYXNlKGludCBwcm9w
KQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDM4LDcgKzQzOSw4IEBAIHB1YmxpYzoKIH07
CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
R2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2UsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMg
RmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXJQ
cm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoqZ2V0dGVyKSgpIGNvbnN0KQogICAg
ICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA4OTNjNzE3Li5jODRkZDU0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
LmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBj
bGFzcyBSZW5kZXJTdHlsZTsKIAotY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmggYi9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oCmluZGV4IDI0OWY0YzMuLjBk
MGJiMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0
aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApA
QCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkltcGxpY2l0QW5pbWF0aW9uLmgiCiAjaW5jbHVk
ZSAiS2V5ZnJhbWVBbmltYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvbWFjL0V2
ZW50SGFuZGxlck1hYy5tbSBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmlu
ZGV4IDJkYjcxM2YuLmI5OGJjYjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRI
YW5kbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCkBA
IC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2ZW50SGFuZGxlcjo6Y3VycmVudE5TRXZlbnQoKQog
ICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNsb3QoKS5nZXQoKTsKIH0KIAotY2xhc3MgQ3VycmVu
dEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ3VycmVudEV2ZW50U2Nv
cGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXJyZW50RXZlbnRTY29wZSk7CiBwdWJs
aWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUoTlNFdmVudCAqKTsKICAgICB+Q3VycmVudEV2ZW50
U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCmluZGV4IGQ5NmMxYWQuLmMzNGE2
NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApAQCAtNDQsNyArNDQsOCBAQCBjbGFz
cyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBBc3luY0ZpbGVXcml0ZXJDbGllbnQ7
CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50ZXJmYWNlIGZvciBwbGF0Zm9ybS1z
cGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4gIE5vdGUgdGhhdCBhbGwgdGhlIG1l
dGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFzeW5jRmlsZVN5c3RlbSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+QXN5bmNG
aWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxl
U3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxi
YWNrcy5oCmluZGV4IDI5MGE2NjkuLmNlZThkOTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAtNDEsOCArNDEsMTEgQEAgY2xhc3MgQXN5bmNGaWxl
U3lzdGVtOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyOwogc3RydWN0IEZpbGVNZXRhZGF0YTsKIAot
Y2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAgICBBc3luY0ZpbGVTeXN0ZW1D
YWxsYmFja3MoKSB7IH0gICAgCisKICAgICAvLyBDYWxsZWQgd2hlbiBhIHJlcXVlc3RlZCBvcGVy
YXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAgICB2aXJ0dWFsIHZvaWQgZGlkU3Vj
Y2VlZCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBv
b2wuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKaW5kZXggZDQ0ZWUxZS4u
ZDY1NTQzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaWZuZGVmIEF1dG9kcmFpbmVkUG9vbF9oCiAjZGVmaW5lIEF1dG9kcmFpbmVkUG9vbF9oCiAK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmZGVmIF9fT0JKQ19fCiBAY2xhc3Mg
TlNBdXRvcmVsZWFzZVBvb2w7CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIE5TQXV0b3JlbGVhc2VQ
b29sOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEF1dG9kcmFpbmVkUG9vbCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdXRvZHJhaW5lZFBvb2wgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEF1dG9kcmFpbmVkUG9vbCk7CiBwdWJsaWM6CiAgICAgQXV0b2RyYWluZWRQ
b29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAgIH5BdXRvZHJhaW5lZFBvb2woKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vQ29udGV4dE1lbnUuaAppbmRleCA1MzIxZWQ2Li41OWEwMmJhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0
TWVudS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbnRleHRNZW51X2gKICNkZWZpbmUg
Q29udGV4dE1lbnVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRl
ICJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCkBAIC00NSw4
ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDb250ZXh0TWVudUNsaWVu
dEVmbDsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnUgOiBwdWJsaWMgTm9uY29weWFi
bGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogICAgICAgICBD
b250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxhdGZvcm1NZW51RGVzY3Jp
cHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaCBi
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXggZTcwMjkyMS4uZDllMjU2
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIsNyArMjUyLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1NZW51SXRlbURlc2Ny
aXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0ZW0gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudUl0ZW0o
UGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uKTsKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKENv
bnRleHRNZW51KiBzdWJNZW51ID0gMCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Rl
cHJlY2F0ZWRQdHJMaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgK
aW5kZXggNDdjZDUzOC4uMGE0YTUxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3Qu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIERlcHJlY2F0ZWRQdHJMaXN0X2gKIAogI2lu
Y2x1ZGUgIkRlcHJlY2F0ZWRQdHJMaXN0SW1wbC5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NC
YXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNz
IERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I7CiAKLXRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBE
ZXByZWNhdGVkUHRyTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK3RlbXBsYXRlIDxjbGFz
cyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZFB0ckxpc3QoKSA6IGltcGwoZGVsZXRlRnVuYyks
IGRlbF9pdGVtKGZhbHNlKSB7IH0KICAgICB+RGVwcmVjYXRlZFB0ckxpc3QoKSB7IGltcGwuY2xl
YXIoZGVsX2l0ZW0pOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQ
dHJMaXN0SW1wbC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5j
cHAKaW5kZXggOTZmZDUxMy4uZWYyOTk1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9E
ZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3RJbXBsLmNwcApAQCAtMjksMTIgKzI5LDExIEBACiAjaW5jbHVkZSA8Y3N0ZGRlZj4K
ICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBE
ZXByZWNhdGVkTGlzdE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUKLXsKK2NsYXNzIERlcHJlY2F0
ZWRMaXN0Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVwcmVjYXRlZExpc3ROb2Rl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZExpc3RO
b2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0KIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRM
b29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCkBAIC0yNiwx
MSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZlbnRMb29wX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAg
ICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50
TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9vcCk7CiAgICAgcHVi
bGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2VuZGVkKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2NS4uZDYwYWU2ZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAj
aWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0aW9uU2VydmljZV9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0u
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJlZChHZW9sb2NhdGlv
blNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZpY2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAgIHN0YXRpYyBHZW9s
b2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsKICAgICB2
aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXgg
Nzg4MmQ0OC4uMjI1ODg0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2LDE1ICsyNiwxNiBA
QAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEhvc3RX
aW5kb3coKSB7IH0KICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93KCkgeyB9CiAKICAgICAvLyBSZXF1
ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSB3aW5kb3csIG5vdCB0aGUgY29udGVudHMuICBJ
ZiBpbW1lZGlhdGUgaXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91c2x5LCBvdGhlcndpc2UgYXN5bmMu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0tpbGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjY4NzI3NCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9LaWxsUmluZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaApA
QCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBLaWxsUmluZyB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmQo
Y29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3Ro
LmgKaW5kZXggN2RkODc1ZS4uOTM0NTQyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCkBAIC0yMiw3ICsyMiw2IEBA
CiAjZGVmaW5lIExlbmd0aF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0zNSw3ICszNCw5IEBAIGNvbnN0IGludCBpbnRN
aW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFsdWUgZm9yIGEgMjgtYml0
IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4ZWQs
IFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3RydWN0IExlbmd0aCA6IEZh
c3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDApCiAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li5mMGIyZTkyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9h
cmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYg
UExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgxLDcgKzgwLDgg
QEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291cmNlOwogICAg
IAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXN0ZWJv
YXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vSGVscGVyIGZ1
bmN0aW9ucyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
UGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKaW5kZXggYmMyOGU4NC4uYWVlOTViNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCkBAIC03NSw3ICs3NSw4IEBAIHR5cGVk
ZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAg
ICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFR5cGUgewogICAgICAgICAgICAg
Ly8gS2V5RG93biBpcyBzZW50IGJ5IHBsYXRmb3JtcyBzdWNoIGFzIE1hYyBPUyBYLCBndGsgYW5k
IFF0LCBhbmQgaGFzIGluZm9ybWF0aW9uIGFib3V0IGJvdGggcGh5c2ljYWwgcHJlc3NlZCBrZXks
IGFuZCBpdHMgdHJhbnNsYXRpb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdl
YWJsZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAppbmRleCA5
YmRhMmQ1Li40NDEzNmMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1
ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKQEAgLTI3LDEz
ICsyNywxMyBAQAogI2RlZmluZSBQdXJnZWFibGVCdWZmZXJfaAogCiAjaW5jbHVkZSAiUHVyZ2VQ
cmlvcml0eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgCi0gICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQdXJnZWFibGVCdWZmZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NP
d25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBjcmVhdGUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90KTsK
ICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRleCA2NWYyNTNlLi5mOGM1MjlmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTMwLDE1ICszMCwxNiBAQAogI2RlZmluZSBSdW5M
b29wVGltZXJfaAogCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2YWxzIGFyZSBhbGwgaW4gc2Vjb25kcy4KIAotY2xhc3Mg
UnVuTG9vcFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wVGlt
ZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29wVGltZXJCYXNlKTsKIHB1
YmxpYzoKKyAgICBSdW5Mb29wVGltZXJCYXNlKCkgeyB9CiAgICAgdmlydHVhbCB+UnVuTG9vcFRp
bWVyQmFzZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVsZVBhaXIqKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCAwZWZhZjdhLi5mMTA2OTExIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBjbGFzcyBQbGF0Zm9ybU1vdXNl
RXZlbnQ7CiBjbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3JvbGxWaWV3OwogCi1jbGFzcyBTY3Jv
bGxiYXJUaGVtZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JvbGxiYXJUaGVtZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGhlbWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAgIHZpcnR1
YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQoU2Nyb2xs
YmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0Ki8pIHsg
cmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4uNzExZTZi
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVmIFNo
YXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhyZWFkIGhh
cyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGltcGxlbWVu
dHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQgYnkgYWxs
IHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRp
cmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hhcmVkVGlt
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFNoYXJlZFRpbWVyKCkgeyB9CiAgICAgICAgIHZp
cnR1YWwgflNoYXJlZFRpbWVyKCkge30KICAgICAgICAgdmlydHVhbCB2b2lkIHNldEZpcmVkRnVu
Y3Rpb24odm9pZCAoKikoKSkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Ro
cmVhZEdsb2JhbERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCmlu
ZGV4IDlmNTdmMDAuLmU4NDJiN2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
R2xvYmFsRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCkBA
IC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYgRU5BQkxFKFdPUktFUlMpCkBAIC00NSw3ICs0NCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29udmVydGVyV3JhcHBlcjsK
ICAgICBjbGFzcyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFsRGF0YSk7CiAgICAgcHVibGljOgog
ICAgICAgICBUaHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAgIH5UaHJlYWRHbG9iYWxEYXRhKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBhYjQyNTk4Li5mOTk5NDBjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
VGhyZWFkVGltZXJzLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJzX2gK
ICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0z
Nyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaW1lckJhc2U7CiAK
ICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0aHJlYWQuIEtlcHQgaW4gVGhyZWFk
R2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGlt
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBjNDQ0M2RhLi44NWYwZGFkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9UaW1lci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFRpbWVyX2gKICNkZWZpbmUgVGlt
ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3ICszNCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xhc3MgVGltZXJCYXNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNo
YXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0y
Miw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZv
aWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmVl
U2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNvdW50
KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXggOWEz
MzRjYS4uYmY4ZmY5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5p
bWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxp
c3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFu
aW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25MaXN0
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25M
aXN0KCkgeyB9CiAgICAgQW5pbWF0aW9uTGlzdChjb25zdCBBbmltYXRpb25MaXN0Jik7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4uMzk4ZTEyNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9CdXMuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBBdWRpb0J1c19oCiAK
ICNpbmNsdWRlICJBdWRpb0NoYW5uZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApA
QCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBBbiBBdWRpb0J1cyByZXBy
ZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBBdWRpb0NoYW5uZWxzLgogLy8gVGhl
IGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQgdG8gImludGVybGVhdmVkIi4KIC8v
IEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9ubywgYW4gQXVkaW9CdXMgd2l0aCB0
d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBBdWRpb0J1cyAgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0J1cyApOwogcHVibGljOgogICAgIGVudW0gewogICAgICAgICBDaGFubmVsTGVmdCA9IDAs
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRleCA2ODE2ODMwLi43MzI1ZTlm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAgLTMwLDE0ICszMCwxNCBA
QAogI2RlZmluZSBBdWRpb0NoYW5uZWxfaAogCiAjaW5jbHVkZSAiQXVkaW9BcnJheS5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW4gQXVkaW9DaGFubmVsIHJlcHJlc2VudHMgYSBi
dWZmZXIgb2Ygbm9uLWludGVybGVhdmVkIGZsb2F0aW5nLXBvaW50IGF1ZGlvIHNhbXBsZXMuCiAv
LyBUaGUgUENNIHNhbXBsZXMgYXJlIG5vcm1hbGx5IGFzc3VtZWQgdG8gYmUgaW4gYSBub21pbmFs
IHJhbmdlIC0xLjAgLT4gKzEuMAotY2xhc3MgQXVkaW9DaGFubmVsIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEF1ZGlvQ2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVk
aW9DaGFubmVsKTsKIHB1YmxpYzoKICAgICAvLyBNZW1vcnkgY2FuIGJlIGV4dGVybmFsbHkgcmVm
ZXJlbmNlZCwgb3IgY2FuIGJlIGludGVybmFsbHkgYWxsb2NhdGVkIHdpdGggYW4gQXVkaW9GbG9h
dEFycmF5LgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaAppbmRleCBjMzNiMzhm
Li4zNTE0NjkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKQEAgLTMxLDcg
KzMxLDYgQEAKIAogI2luY2x1ZGUgIkhSVEZFbGV2YXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIUlRGS2Vy
bmVsOwogCi1jbGFzcyBIUlRGRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFJURkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRGF0YWJhc2UpOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhSVEZEYXRhYmFzZT4gY3JlYXRlKGRvdWJs
ZSBzYW1wbGVSYXRlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RWxldmF0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaAppbmRl
eCBiMzg4YjM0Li5mNDQ0NDQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24u
aApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBIUlRGRWxldmF0aW9uX2gKIAogI2luY2x1ZGUg
IkhSVEZLZXJuZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IEhSVEZFbGV2YXRpb24gY29udGFpbnMgYWxsIG9mIHRoZSBIUlRGS2VybmVscyAob25lIGxlZnQg
ZWFyIGFuZCBvbmUgcmlnaHQgZWFyIHBlciBhemltdXRoIGFuZ2xlKSBmb3IgYSBwYXJ0aWN1bGFy
IGVsZXZhdGlvbi4KIAotY2xhc3MgSFJURkVsZXZhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIUlRGRWxldmF0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRWxl
dmF0aW9uKTsKIHB1YmxpYzoKICAgICAvLyBMb2FkcyBhbmQgcmV0dXJucyBhbiBIUlRGRWxldmF0
aW9uIHdpdGggdGhlIGdpdmVuIEhSVEYgZGF0YWJhc2Ugc3ViamVjdCBuYW1lIGFuZCBlbGV2YXRp
b24gZnJvbSBicm93c2VyIChvciBXZWJLaXQuZnJhbWV3b3JrKSByZXNvdXJjZXMuCiAgICAgLy8g
Tm9ybWFsbHksIHRoZXJlIHdpbGwgb25seSBiZSBhIHNpbmdsZSBIUlRGIGRhdGFiYXNlIHNldCwg
YnV0IHRoaXMgQVBJIHN1cHBvcnRzIHRoZSBwb3NzaWJpbGl0eSBvZiBtdWx0aXBsZSBvbmVzIHdp
dGggZGlmZmVyZW50IG5hbWVzLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9h
cmRDaHJvbWl1bS5oCmluZGV4IDFkNjk5MjEuLmQ1YWRhMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEludFBvaW50OwogCiAgICAgY2xhc3MgQ2xpcGJvYXJk
Q2hyb21pdW0gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IH5DbGlwYm9hcmRDaHJvbWl1bSgpIHt9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuaAppbmRleCA1YTU0OTYzLi5lOTY3OGMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oCkBAIC02OCw3ICs2OCw5IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBj
bGFzcyBUaW1lcjsKIC8vIEZyYW1lRGF0YSBDbGFzcwogLy8gPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLXN0cnVjdCBGcmFtZURhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgRnJhbWVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFt
ZURhdGEpOworcHVibGljOgogICAgIEZyYW1lRGF0YSgpCiAgICAgICAgIDogbV9mcmFtZSgwKQog
ICAgICAgICAsIG1faGF2ZU1ldGFkYXRhKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5o
CmluZGV4IDJlNGU5NjIuLmYwYzMwYWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29sb3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKQEAg
LTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29sb3JfaAogI2RlZmluZSBDb2xvcl9oCiAKLSNpbmNs
dWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC03NSw3ICs3NCw4IEBAIGlubGluZSBp
bnQgZ3JlZW5DaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDgpICYgMHhG
RjsgfQogaW5saW5lIGludCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIGNvbG9y
ICYgMHhGRjsgfQogaW5saW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVy
biAoY29sb3IgPj4gMjQpICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAgICAg
Q29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVjLi4w
NzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFk
b3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2lu
ZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmNmY2E5ODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2FjaGUo
KQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29uc3Qg
QXRvbWljU3RyaW5nJiBmYW1pbHkgPSBBdG9taWNTdHJpbmcoKSwgdW5zaWduZWQgc2l6ZSA9IDAs
IHVuc2lnbmVkIHdlaWdodCA9IDAsIGJvb2wgaXRhbGljID0gZmFsc2UsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgaXNQcmludGVyRm9udCA9IGZhbHNlLCBGb250UmVuZGVyaW5n
TW9kZSByZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSwgRm9udE9yaWVudGF0aW9u
IG9yaWVudGF0aW9uID0gSG9yaXpvbnRhbCkKICAgICAgICAgOiBtX3NpemUoc2l6ZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGU2ODQ1ZDkuLjg2ZjhjNjcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBG
b250RGVzY3JpcHRpb247CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFzcyBTaW1wbGVGb250RGF0
YTsKIAotY2xhc3MgRm9udENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRD
YWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udENhY2hlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hlKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAppbmRleCBlZTk0YTk4Li40MzI3OTU5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBAIC0yNywxNCArMjcsMTQgQEAK
ICNkZWZpbmUgRm9udERhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZv
bnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGb250RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgw
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4
NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlw
aE1ldHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmlj
c01hcC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAK
IGNvbnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxj
bGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdseXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2Zp
bGxlZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDY5ZDllMTYuLjY2
NGRmYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgi
CiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE0
OSw3ICsxNDgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25I
aWdoCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQq
KTsKICAgICAgICAgfkdyYXBoaWNzQ29udGV4dCgpOwpAQCAtMzU0LDcgKzM1NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRTaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dz
KGJvb2wpOwogICAgICAgICBib29sIHNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoKSBjb25zdDsK
IAotICAgICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXaW5kb3dzQml0bWFwKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgV2luZG93
c0JpdG1hcChIREMsIEludFNpemUpOwogICAgICAgICAgICAgfldpbmRvd3NCaXRtYXAoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCBjMmQ1
YzI0Li43YzA3YmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dDNELmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAvLyBGSVhNRTogRmluZCBhIGJldHRlciB3YXkgdG8gYXZvaWQgdGhlIG5hbWUgY29uZmxp
Y3Rpb24gZm9yIE5PX0VSUk9SLgogI2lmICgoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKFdJTkRP
V1MpKSB8fCBQTEFURk9STShXSU4pIHx8IChQTEFURk9STShRVCkgJiYgT1MoV0lORE9XUykpKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2
YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUu
aAppbmRleCA5Mjg4ZGY0Li45OGRjYzQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaApAQCAtODMsNyArODMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgc2hhZG93c0lnbm9yZVRyYW5zZm9ybXM7CiAgICAg
fTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZhdGUgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGljc0NvbnRleHRQcml2YXRlKCkKICAg
ICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhmYWxzZSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkxY2EzMi4uNTMyZDBjYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTEwNCw3ICsxMDQsOCBA
QCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xhc3MgZm9yIGFuaW1hdGlvbiB2YWx1
ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJlIHRvCiAvLyByZXByZXNlbnQgdmFs
dWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZpYSB0aGUgR3JhcGhpY3NMYXllciwK
IC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVkIGRhdGEgZnJvbSBvdXRzaWRlIG9m
IHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmltYXRpb25WYWx1ZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBBbmltYXRpb25WYWx1ZShmbG9hdCBrZXlUaW1lLCBQYXNzUmVmUHRyPFRpbWluZ0Z1bmN0
aW9uPiB0aW1pbmdGdW5jdGlvbiA9IDApCiAgICAgICAgIDogbV9rZXlUaW1lKGtleVRpbWUpCkBA
IC0xNTYsNyArMTU3LDggQEAgcHJpdmF0ZToKIAogLy8gVXNlZCB0byBzdG9yZSBhIHNlcmllcyBv
ZiB2YWx1ZXMgaW4gYSBrZXlmcmFtZSBsaXN0LiBWYWx1ZXMgd2lsbCBhbGwgYmUgb2YgdGhlIHNh
bWUgdHlwZSwKIC8vIHdoaWNoIGNhbiBiZSBpbmZlcnJlZCBmcm9tIHRoZSBwcm9wZXJ0eS4KLWNs
YXNzIEtleWZyYW1lVmFsdWVMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEtleWZy
YW1lVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShLZXlmcmFtZVZhbHVlTGlz
dCk7CiBwdWJsaWM6CiAKICAgICBLZXlmcmFtZVZhbHVlTGlzdChBbmltYXRlZFByb3BlcnR5SUQg
cHJvcGVydHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVm
ZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKaW5kZXggODIy
YTBmZi4uNWQ0OGE4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFVubXVsdGlwbGll
ZAogICAgIH07CiAKLSAgICBjbGFzcyBJbWFnZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgSW1hZ2VCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bWFnZUJ1ZmZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgLy8gV2lsbCByZXR1cm4gYSBudWxsIHBvaW50ZXIgb24gYWxsb2NhdGlvbiBmYWlsdXJlLgog
ICAgICAgICBzdGF0aWMgUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEludFNp
emUmIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IENvbG9yU3BhY2VEZXZpY2VSR0IpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKaW5kZXggYWViMTU2MS4uOTFjZWU1
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaApAQCAtMjgsNyArMjgs
NiBAQAogI2RlZmluZSBJbWFnZVNvdXJjZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
I2lmIFBMQVRGT1JNKFdYKQpAQCAtMTE3LDcgKzExNiw4IEBAIGNvbnN0IGludCBjQW5pbWF0aW9u
TG9vcE9uY2UgPSAwOwogY29uc3QgaW50IGNBbmltYXRpb25Mb29wSW5maW5pdGUgPSAtMTsKIGNv
bnN0IGludCBjQW5pbWF0aW9uTm9uZSA9IC0yOwogCi1jbGFzcyBJbWFnZVNvdXJjZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW1hZ2VTb3VyY2UpOwogcHVibGljOgogICAgIEltYWdlU291cmNlKGJvb2wgcHJlbXVs
dGlwbHlBbHBoYSA9IHRydWUsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUgPSBmYWxz
ZSk7CiAgICAgfkltYWdlU291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuY3BwCmluZGV4IDIzNWMxZmQuLjg3ZmE5MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyArMTQ3LDkgQEAgc3RhdGljIE1lZGlhUGxh
eWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1lZGlhUGxheWVyKE1lZGlhUGxheWVyKiBw
bGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0cnVjdCBNZWRpYVBsYXllckZhY3Rvcnkg
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3RvcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3JlYXRlTWVkaWFFbmdpbmVQbGF5
ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlwZXMgZ2V0U3VwcG9ydGVkVHlw
ZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZUFuZENvZGVjcykgCiAgICAg
ICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAgICwgZ2V0U3VwcG9ydGVkVHlw
ZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmgKaW5kZXggYTUwNmE2ZS4uZjdlNWI3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0OCw3ICsxNDcsOCBAQCBwdWJsaWM6
CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXll
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogCiAgICAgc3RhdGljIFBhc3NP
d25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXllckNsaWVudCogY2xpZW50KQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggZDk1
NjI4Ni4uNmFiZTI1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBJbnRSZWN0OwogY2xhc3MgSW50U2l6ZTsKIAotY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgTWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAgICAgdmlydHVhbCB+TWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVy
bCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRleCA0MjNhNzkyLi4zMDlhNmNjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMjgsNyArMjgsNiBAQAogI2lmbmRlZiBQYXRo
X2gKICNkZWZpbmUgUGF0aF9oCiAKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTEwMCw3ICs5OSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgdm9pZCAoKlBhdGhBcHBsaWVy
RnVuY3Rpb24pKHZvaWQqIGluZm8sIGNvbnN0IFBhdGhFbGVtZW50Kik7CiAKLSAgICBjbGFzcyBQ
YXRoIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBhdGggeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhdGgoKTsKICAg
ICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5n
U3RvcmUuaAppbmRleCA1ODQ3N2RiLi4wNmM3ZmUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRpbGVkQmFja2luZ1N0b3Jl
Q2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGls
ZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBU
aWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCopOwogICAgIH5UaWxlZEJh
Y2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBkYWMzMWY4Li40ZjM5NGY5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlv
bi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgRlRf
RmFjZVJlY18qICBGVF9GYWNlOwogdHlwZWRlZiBzdHJ1Y3QgX2NhaXJvX2ZvbnRfZmFjZSBjYWly
b19mb250X2ZhY2VfdDsKQEAgLTM1LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSk7CiBwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShGVF9GYWNlLCBTaGFyZWRC
dWZmZXIqKTsKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCmluZGV4IDZmYzFhMGUuLjgx
OWY5ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xF
UzJDYW52YXMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMy
Q2FudmFzLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJUZXh0dXJlLmgiCiAKICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBA
QCBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIGNsYXNzIFNoYXJl
ZEdyYXBoaWNzQ29udGV4dDNEOwogCi1jbGFzcyBHTEVTMkNhbnZhcyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBHTEVTMkNhbnZhcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR0xF
UzJDYW52YXMpOwogcHVibGljOgogICAgIEdMRVMyQ2FudmFzKFNoYXJlZEdyYXBoaWNzQ29udGV4
dDNEKiwgRHJhd2luZ0J1ZmZlciosIGNvbnN0IEludFNpemUmKTsKICAgICB+R0xFUzJDYW52YXMo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IDUzMWQ2NTIuLjNjNzFhYzcgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uaApAQCAtNDMsNyArNDMsNiBAQAogI2luY2x1ZGUgIlNrQml0bWFwLmgiCiAjaW5j
bHVkZSAiVmlkZW9MYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3Vy
ZmFjZUNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRl
clN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IDFmMzM1MjcuLjUyNmE4N2IgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hy
b21pdW0uaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
TGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xhc3MgTGF5ZXJDaHJvbWl1bTsKIAotY2xhc3MgUmVu
ZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlclN1
cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU3VyZmFjZUNo
cm9taXVtKTsKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogcHVibGlj
OgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZhY2VDaHJvbWl1bShMYXllckNocm9taXVtKik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5j
eVdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lX
aW4uaAppbmRleCBiNmJlZjkxLi4yNzUxMjU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKQEAgLTM1LDcgKzM1LDYgQEAK
IAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgi
Ci0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJ3dGYvT3duUHRyLmgiCiAKIGNs
YXNzIFNrQml0bWFwOwpAQCAtNTQsNyArNTMsOCBAQCBjbGFzcyBUcmFuc3BhcmVuY3lXaW5fT3Bh
cXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMgY29tcG9zaXRlZCBsYXRlciBtYW51
YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3MnIGluYWJpbGl0eQogLy8gdG8gaGFu
ZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJlbnQgdGV4dCwgYW5kIHRyYW5zZm9y
bWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNwYXJlbmN5V2luIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAgICBlbnVtIExheWVyTW9kZSB7CiAg
ICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQuIERyYXdpbmcgd2lsbCBoYXBwZW4g
dG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0RyYXdpbmdCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdC
dWZmZXIuaAppbmRleCA5Zjc5ODg5Li5lMzU2NTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAi
R3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTc3LDggKzc2LDEwIEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgY2xhc3MgV2lsbFB1Ymxpc2hD
YWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2lsbFB1Ymxpc2hDYWxs
YmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQdWJsaXNoQ2FsbGJhY2sp
OwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hDYWxsYmFjaygpIHsgfQogICAgICAg
ICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAgICAgIAogICAgICAgICB2
aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdi
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xh
c3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNs
YXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZp
ZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAK
IC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBM
b29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlu
bkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZp
ZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51
bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
TG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxU
cmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9h
dFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2Yg
dGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBw
b2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlu
bkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0
aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRo
ZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAg
Ly8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgp
OwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmlu
ZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNp
bmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3Rh
bnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVu
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhi
YWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Q
T0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgK
QEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBA
QCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5k
IGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJs
b2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAg
Ly8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
UE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRl
cnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQz
LDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcg
bikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0
aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFz
cyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+
IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50
ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVy
dmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4g
ZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4
IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVu
YS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBi
YXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25s
eQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25s
eSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2Rl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rv
ci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0
IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8v
IEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5
IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRl
ciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50
ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50
ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291
bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFk
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4
ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1No
YWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0z
MSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9y
bTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4
dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwx
NCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBG
bG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXpl
LCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsK
ICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXpl
OyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJL
aXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRX
ZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNp
bmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdv
cmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNv
cHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xp
ZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xp
ZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
QEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1
ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1
Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCmluZGV4IGMxMTg1OGMuLmQ4MTUxNjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYg
QEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0
aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRl
ZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsK
IAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3Qg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShB
VFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQ0dGb250UmVmIGNnRm9udCkKICAgICAgICAg
OiBtX2F0c0NvbnRhaW5lcihjb250YWluZXIpCiAgICAgICAgICwgbV9jZ0ZvbnQoY2dGb250KQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5W
Ry5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCmlu
ZGV4IDI0ZmQ4YTAuLjgzYzhmNWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW52Zy9QYWludGVyT3BlblZHLmgKQEAgLTI1LDcgKzI1LDYgQEAKIAogI2luY2x1ZGUgPG9w
ZW52Zy5oPgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIFRp
bGVkSW1hZ2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xhc3Mg
UGFpbnRlck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3BlblZH
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoKICAg
ICBmcmllbmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRmb3Jt
UGFpbnRlclN0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dmcvU3VyZmFjZU9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3Vy
ZmFjZU9wZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLmVlNzIwMDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKQEAgLTI0LDcgKzI0LDYgQEAK
ICNpbmNsdWRlIDxlZ2wuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBJbnRTaXpl
OwogICogb2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1ha2UgaXQgZWFzeSB0byBhZGQgZGlmZmVyZW50
IHN1cmZhY2UvY29udGV4dAogICogaW1wbGVtZW50YXRpb25zIHRoYW4gRUdMLgogICovCi1jbGFz
cyBTdXJmYWNlT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN1cmZhY2VPcGVu
VkcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1cmZhY2VPcGVuVkcpOwogcHVibGljOgog
ICAgIGVudW0gTWFrZUN1cnJlbnRNb2RlIHsKICAgICAgICAgQXBwbHlQYWludGVyU3RhdGVPblN1
cmZhY2VTd2l0Y2gsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcuLmQ1ZjMyNDIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CkBAIC0yNSwxNCArMjUsMTYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNs
dWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
Rm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9y
IHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNh
dGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1E
YXRhLmgKaW5kZXggMWM1N2UyOS4uZjI2ODM3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSgpCiAgICAgICAg
IDogcmVmQ291bnQoMSkKQEAgLTYyLDggKzYzLDEwIEBAIHB1YmxpYzoKIAogCiAKLWNsYXNzIEZv
bnRQbGF0Zm9ybURhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGb250UGxhdGZv
cm1EYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBGb250
UGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgRm9udFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29s
IGJvbGQsIGJvb2wgb2JsaXF1ZSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxh
dGZvcm1EYXRhICYpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHlOYW1lLCBpbnQgd29yZFNwYWNpbmcgPSAwLCBp
bnQgbGV0dGVyU3BhY2luZyA9IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAppbmRleCBiYmJjZWRiLi5kMzA2NmYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcApA
QCAtMTc2LDcgKzE3Niw4IEBAIHN0YXRpYyBpbmxpbmUgUXQ6OkZpbGxSdWxlIHRvUXRGaWxsUnVs
ZShXaW5kUnVsZSBydWxlKQogICAgIHJldHVybiBRdDo6T2RkRXZlbkZpbGw7CiB9CiAKLWNsYXNz
IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFp
bnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRmYjM5Li45ZmFkN2VkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3
ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxh
eWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFRyYW5zcGFyZW5jeUxheWVyKGNv
bnN0IFFQYWludGVyKiBwLCBjb25zdCBRUmVjdCAmcmVjdCwgcXJlYWwgb3BhY2l0eSwgUVBpeG1h
cCYgYWxwaGFNYXNrKQogICAgICAgICA6IHBpeG1hcChyZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0
KCkpCiAgICAgICAgICwgb3BhY2l0eShvcGFjaXR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZTUxYjZi
Ni4uMDgzZTU4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYg
T1MoV0lORE9XUykKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtNDksNyArNDgsOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hh
cmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxl
IHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICNpZiBPUyhXSU5ET1dTKQog
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0
cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAppbmRleCA1ZTEyYWQ2Li40NDgzNWE0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZv
cm1Qcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKICNkZWZpbmUgR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFzcyBQ
bGF0Zm9ybUNvbnRleHRTa2lhOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRoaXMgY2xh
c3MganVzdCBob2xkcyBvbnRvIGEgUGxhdGZvcm1Db250ZXh0U2tpYSBmb3IgR3JhcGhpY3NDb250
ZXh0LgotY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsKIHB1Ymxp
YzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoUGxhdGZvcm1Db250ZXh0U2tp
YSogcGxhdGZvcm1Db250ZXh0KQogICAgICAgICA6IG1fY29udGV4dChwbGF0Zm9ybUNvbnRleHQp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3Jt
Q29udGV4dFNraWEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmgKaW5kZXggMTFiMzExYS4uMzFiNjE5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFBsYXRmb3JtQ29udGV4dFNraWFfaAogCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogI2luY2x1ZGUgIlNrRGFz
aFBhdGhFZmZlY3QuaCIKICNpbmNsdWRlICJTa0RyYXdMb29wZXIuaCIKQEAgLTY3LDcgKzY2LDgg
QEAgY2xhc3MgVGV4dHVyZTsKIC8vIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyB0aGUgcGFpbnRp
bmcgc3RhdGUgd2hpY2ggaXMgc3RvcmUgaW4gc2VwYXJhdGUKIC8vIFNrUGFpbnQgb2JqZWN0cy4g
VGhpcyBjbGFzcyBwcm92aWRlcyB0aGUgYWRhcHRvciB0aGF0IGFsbG93cyB0aGUgcGFpbnRpbmcK
IC8vIHN0YXRlIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGFsb25nIHdpdGggdGhlIGJpdG1hcC4K
LWNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UGxhdGZvcm1Db250ZXh0U2tpYSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGxhdGZvcm1D
b250ZXh0U2tpYSk7CiBwdWJsaWM6CiAgICAgLy8gRm9yIHByaW50aW5nLCB0aGVyZSBzaG91bGRu
J3QgYmUgYW55IGNhbnZhcy4gY2FudmFzIGNhbiBiZSBOVUxMLiBJZiB5b3UKICAgICAvLyBzdXBw
bHkgYSBOVUxMIGNhbnZhcywgeW91IGNhbiBhbHNvIGNhbGwgc2V0Q2FudmFzIGxhdGVyLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oCmluZGV4IGJhZWUxMDIuLjhkMmY4NzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogCiAjaW5jbHVkZSA8c3Ry
aW5nLmg+IC8vIGZvciBtZW1jcHkKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiAj
aWYgUExBVEZPUk0oQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWZmaW5lVHJhbnNmb3Jt
Lmg+CkBAIC01NSw3ICs1NCw4IEBAIGNsYXNzIEludFBvaW50OwogY2xhc3MgSW50UmVjdDsKIGNs
YXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogCi1jbGFzcyBBZmZpbmVUcmFuc2Zvcm0gOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBZmZpbmVUcmFuc2Zvcm0geworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIFRyYW5zZm9ybVs2
XTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Ry
YW5zZm9ybU9wZXJhdGlvbnMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jt
cy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3Ny4uOTgxZTFmNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlv
bnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3Jt
T3BlcmF0aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IFRyYW5zZm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7
CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
VHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2YjRiYWEuLjFiYjA2NWUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2lu
dC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1l
bWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykK
ICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYx
LDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRR
dWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBNYXRyaXg0WzRdWzRdOwogCmRpZmYg
