<?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>124720</bug_id>
          
          <creation_ts>2013-11-21 08:24:45 -0800</creation_ts>
          <short_desc>Move CertificateInfo to WebCore</short_desc>
          <delta_ts>2013-12-17 05:00:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>124150</dependson>
          <blocked>118520</blocked>
    
    <blocked>124724</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>danw</cc>
    
    <cc>darin</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ltilve+ews</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>rego+ews</cc>
    
    <cc>wingo</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>953108</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-21 08:24:45 -0800</bug_when>
    <thetext>It is the 2nd step after renaming PlatformCertificateInfo to CertificateInfo (bug124150)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953146</commentid>
    <comment_count>1</comment_count>
      <attachid>217578</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-21 10:01:58 -0800</bug_when>
    <thetext>Created attachment 217578
proposed patch

no r? now, because we are waiting for bug124150</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953150</commentid>
    <comment_count>2</comment_count>
      <attachid>217579</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-21 10:08:04 -0800</bug_when>
    <thetext>Created attachment 217579
proposed patch

better diff with git diff -M</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953154</commentid>
    <comment_count>3</comment_count>
      <attachid>217580</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-21 10:12:11 -0800</bug_when>
    <thetext>Created attachment 217580
proposed patch

oops, I forgot to git add the soup files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953168</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-21 10:50:06 -0800</bug_when>
    <thetext>Additional info: I tested this patch on the top of https://bugs.webkit.org/show_bug.cgi?id=124150 on Mac, certificats still work in Safari, Layout tests still pass on WK1 and WK2 too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953985</commentid>
    <comment_count>5</comment_count>
      <attachid>217801</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-25 06:08:11 -0800</bug_when>
    <thetext>Created attachment 217801
proposed patch

patch from bug124150 landed (rename PlatformCertificateInfo to CertificateInfo),
so we can go forward and move CertificateInfo from WebKit2 to WebCore without
any behavioural change. I ran WK1/WK2 layout tests on EFL/Mac and tried
Safari with this patch too and it seems certificates still works fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953986</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-25 06:09:19 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953989</commentid>
    <comment_count>7</comment_count>
      <attachid>217801</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-25 06:20:39 -0800</bug_when>
    <thetext>Comment on attachment 217801
proposed patch

fixing GTK build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953992</commentid>
    <comment_count>8</comment_count>
      <attachid>217803</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-25 06:37:31 -0800</bug_when>
    <thetext>Created attachment 217803
proposed patch

with speculative GTK buildfix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953993</commentid>
    <comment_count>9</comment_count>
      <attachid>217804</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-25 06:47:52 -0800</bug_when>
    <thetext>Created attachment 217804
proposed patch

one more speculative GTK fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953998</commentid>
    <comment_count>10</comment_count>
      <attachid>217806</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-25 07:24:03 -0800</bug_when>
    <thetext>Created attachment 217806
proposed patch

typo fix to make GTK build happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954496</commentid>
    <comment_count>11</comment_count>
      <attachid>217938</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-27 03:44:31 -0800</bug_when>
    <thetext>Created attachment 217938
Patch

One more shot, maybe the Mac WK2 bot is a little bit healthier now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954917</commentid>
    <comment_count>12</comment_count>
      <attachid>218046</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-29 02:29:34 -0800</bug_when>
    <thetext>Created attachment 218046
proposed patch

Same patch, but forgot that webkit-patch upload doesn&apos;t use git -M.
Uploaded &quot;git -M&quot; style patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954918</commentid>
    <comment_count>13</comment_count>
      <attachid>218046</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-29 02:32:53 -0800</bug_when>
    <thetext>Comment on attachment 218046
proposed patch

Attachment 218046 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/39318107</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954919</commentid>
    <comment_count>14</comment_count>
      <attachid>218046</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-29 02:33:49 -0800</bug_when>
    <thetext>Comment on attachment 218046
proposed patch

Attachment 218046 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/39348034</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954920</commentid>
    <comment_count>15</comment_count>
      <attachid>218046</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-11-29 02:36:15 -0800</bug_when>
    <thetext>Comment on attachment 218046
proposed patch

Attachment 218046 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/39138126</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954922</commentid>
    <comment_count>16</comment_count>
      <attachid>218048</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-29 02:46:36 -0800</bug_when>
    <thetext>Created attachment 218048
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955393</commentid>
    <comment_count>17</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-02 08:49:03 -0800</bug_when>
    <thetext>Anders, could you review this trivial patch, please? Or any other WK2 owner?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955795</commentid>
    <comment_count>18</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-02 23:51:54 -0800</bug_when>
    <thetext>ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956416</commentid>
    <comment_count>19</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-04 09:47:09 -0800</bug_when>
    <thetext>WK2 owners, please review this trivial patch. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957605</commentid>
    <comment_count>20</comment_count>
      <attachid>218684</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2013-12-08 05:56:58 -0800</bug_when>
    <thetext>Created attachment 218684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957607</commentid>
    <comment_count>21</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2013-12-08 05:59:11 -0800</bug_when>
    <thetext>Updated patch to apply cleanly.  I am surprised it is so much larger; perhaps I mistakenly included other changes.  Clearing review bit while I investigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957861</commentid>
    <comment_count>22</comment_count>
      <attachid>218751</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-09 05:37:00 -0800</bug_when>
    <thetext>Created attachment 218751
proposed patch

Same as attachment218684, but with git diff HEAD -M.
(It is smaller and we can easily see the changes after moving.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958005</commentid>
    <comment_count>23</comment_count>
      <attachid>218751</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-09 11:22:27 -0800</bug_when>
    <thetext>Comment on attachment 218751
proposed patch

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

This patch does more than just move the CertificateInfo class into WebCore. It also moves the encoding and decoding functions for certificate info *out* of WebCore. And I don’t know why it does that.

&gt; Source/WebCore/platform/network/mac/CertificateInfoMac.mm:-51
&gt; -void CertificateInfo::encode(CoreIPC::ArgumentEncoder&amp; encoder) const

What’s the rationale for moving the encode/decode functions out of WebCore? It seems like a bad design to have the serialization far away from the class itself. Easy for the two to get out of sync.

&gt; Source/WebKit2/Shared/WebCoreArgumentCoders.cpp:110
&gt; +    CertificateInfo certificate;
&gt; +
&gt; +    if (!decodePlatformData(decoder, certificate))
&gt; +        return false;
&gt; +
&gt; +    certificateInfo = certificate;
&gt; +
&gt; +    return true;

This should say:

    return decodePlatformData(decoder, certificateInfo);

No need for the rest of that code. Right?

I don’t think we need this indirection at all. Instead the functions currently named encodePlatformData and decodePlatformData should just be named encode and decode for CertificateInfo and there should be nothing in this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958056</commentid>
    <comment_count>24</comment_count>
      <attachid>218751</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-09 12:43:40 -0800</bug_when>
    <thetext>Comment on attachment 218751
proposed patch

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

&gt;&gt; Source/WebCore/platform/network/mac/CertificateInfoMac.mm:-51
&gt;&gt; -void CertificateInfo::encode(CoreIPC::ArgumentEncoder&amp; encoder) const
&gt; 
&gt; What’s the rationale for moving the encode/decode functions out of WebCore? It seems like a bad design to have the serialization far away from the class itself. Easy for the two to get out of sync.

Now all WebCore classes are serialized in Shared/WebCoreArgumentCoders.cpp, I don&apos;t think
if we can make it in a different way only for this class. I&apos;m not responisible for this bad 
design, maybe Anders or Sam can explain why it is needed.

&gt;&gt; Source/WebKit2/Shared/WebCoreArgumentCoders.cpp:110
&gt;&gt; +    return true;
&gt; 
&gt; This should say:
&gt; 
&gt;     return decodePlatformData(decoder, certificateInfo);
&gt; 
&gt; No need for the rest of that code. Right?
&gt; 
&gt; I don’t think we need this indirection at all. Instead the functions currently named encodePlatformData and decodePlatformData should just be named encode and decode for CertificateInfo and there should be nothing in this file.

I think yes, we can do it simpler.

Good point, ArgumentCoder&lt;KeypressCommand&gt;::encode/decode in 
Shared/mac/WebCoreArgumentCodersMac.mm exactly do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958064</commentid>
    <comment_count>25</comment_count>
      <attachid>218793</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-09 13:05:34 -0800</bug_when>
    <thetext>Created attachment 218793
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958077</commentid>
    <comment_count>26</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-09 13:56:50 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; Now all WebCore classes are serialized in Shared/WebCoreArgumentCoders.cpp, I don&apos;t think
&gt; if we can make it in a different way only for this class. I&apos;m not responisible for this bad 
&gt; design, maybe Anders or Sam can explain why it is needed.

But can’t we do that in a different patch? The argument coders are already there in WebCore and this patch moves them into WebKit2. Or am I reading the diff wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958352</commentid>
    <comment_count>27</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-10 07:12:32 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; But can’t we do that in a different patch? The argument coders are already there in WebCore and this patch moves them into WebKit2. Or am I reading the diff wrong?

The pretty diff can be a little bit misleading here.

Here is an example from the patch:
----------------------------------------------------------------------------
diff --git a/Source/WebKit2/Shared/mac/CertificateInfo.mm b/Source/WebCore/platform/network/mac/CertificateInfoMac.mm
similarity index 75%
rename from Source/WebKit2/Shared/mac/CertificateInfo.mm
rename to Source/WebCore/platform/network/mac/CertificateInfoMac.mm
...
----------------------------------------------------------------------------

First I moved the file and then modified. The pretty diff shows only the changes after moving. git diff -M is a little bit tricky, but it shows better what we have done instead of removing a whole file and adding a whole file.

I didn&apos;t remove encode/decode from Source/WebCore/platform/network/mac/CertificateInfoMac.mm, but didn&apos;t move this logic from WebKit2 to WebCore. Exactly I moved it from Source/WebKit2/Shared/mac/CertificateInfo.mm to Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm, because serialization is a WebKit2 only need that&apos;s why serializing WebCore objects stand in WebKit2&apos;s WebCoreArgumentCoders instead of WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958360</commentid>
    <comment_count>28</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-10 07:21:08 -0800</bug_when>
    <thetext>I filed a bug against the misleading pretty diff: https://bugs.webkit.org/show_bug.cgi?id=125514 ( And I&apos;m going to find somebody to fix it soon. ;) )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958750</commentid>
    <comment_count>29</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-11 09:01:29 -0800</bug_when>
    <thetext>WK2 owners, could you review it, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958921</commentid>
    <comment_count>30</comment_count>
      <attachid>218793</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-11 14:39:31 -0800</bug_when>
    <thetext>Comment on attachment 218793
proposed patch

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

&gt; Source/WebKit2/ChangeLog:38
&gt; +        * Shared/WebCoreArgumentCoders.cpp:
&gt; +        (CoreIPC::::encode):
&gt; +        (CoreIPC::::decode):
&gt; +        * Shared/WebCoreArgumentCoders.h:
&gt; +        * Shared/mac/WebCoreArgumentCodersMac.mm:
&gt; +        (CoreIPC::::encodePlatformData):
&gt; +        (CoreIPC::::decodePlatformData):
&gt; +        * Shared/soup/CertificateInfo.cpp:
&gt; +        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
&gt; +        (CoreIPC::::encodePlatformData):
&gt; +        (CoreIPC::::decodePlatformData):

prepare-ChangeLog did not do a good job with these function names; normally I fix those by hand when I see them in my patches’ change logs, but fixing the script would be even better

&gt; Source/WebKit2/WebProcess/WebProcess.h:56
&gt; +#if !ENABLE(NETWORK_PROCESS) &amp;&amp; USE(SOUP)
&gt; +class CertificateInfo;
&gt; +#endif

I don’t think we need to wrap this forward declaration in #if. Generally speaking I think our style in the future should be to not waste time putting forward declarations inside #if statements since they are much uglier like that, and omitting them catches almost no errors that we wouldn’t catch other ways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958926</commentid>
    <comment_count>31</comment_count>
      <attachid>218793</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-11 14:45:32 -0800</bug_when>
    <thetext>Comment on attachment 218793
proposed patch

Rejecting attachment 218793 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 218793, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
bCoreSupport/WebFrameLoaderClient.cpp
patching file Source/WebKit2/WebProcess/WebProcess.h
Hunk #1 succeeded at 55 (offset 4 lines).
Hunk #2 succeeded at 79 (offset 4 lines).
Hunk #3 succeeded at 177 (offset 4 lines).
patching file Source/WebKit2/WebProcess/WebProcess.messages.in
patching file Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Darin Adler&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/48148046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959146</commentid>
    <comment_count>32</comment_count>
      <attachid>219068</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-12 03:20:44 -0800</bug_when>
    <thetext>Created attachment 219068
patch for landing

changelog fixed, ifdef guard around forward declaration removed, conflict in Source/WebKit2/Shared/WebCertificateInfo.h after r160384 resolved</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959169</commentid>
    <comment_count>33</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-12 04:28:12 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/160487</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960464</commentid>
    <comment_count>34</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-17 05:00:57 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; &gt; Source/WebKit2/ChangeLog:38
&gt; &gt; +        * Shared/WebCoreArgumentCoders.cpp:
&gt; &gt; +        (CoreIPC::::encode):
&gt; &gt; +        (CoreIPC::::decode):
&gt; &gt; +        * Shared/WebCoreArgumentCoders.h:
&gt; &gt; +        * Shared/mac/WebCoreArgumentCodersMac.mm:
&gt; &gt; +        (CoreIPC::::encodePlatformData):
&gt; &gt; +        (CoreIPC::::decodePlatformData):
&gt; &gt; +        * Shared/soup/CertificateInfo.cpp:
&gt; &gt; +        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
&gt; &gt; +        (CoreIPC::::encodePlatformData):
&gt; &gt; +        (CoreIPC::::decodePlatformData):
&gt; 
&gt; prepare-ChangeLog did not do a good job with these function names; normally I fix those by hand when I see them in my patches’ change logs, but fixing the script would be even better

I filed a new bug report about this prepare-ChangeLog bug: bug125853</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217578</attachid>
            <date>2013-11-21 10:01:58 -0800</date>
            <delta_ts>2013-11-21 10:08:04 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>67190</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YmUwMWZiLi41NjIzNTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTMtMTEtMjEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmlj
YXRlSW5mby5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlm
aWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5m
b01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNh
dGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0
ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpkdW1wKToKKwogMjAx
My0xMS0yMSAgTWloYWkgTWFlcmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNvbT4KIAogICAgICAgICBG
aXggaG92ZXIgYXJlYSBmb3IgZGl2cyB3aXRoIGNzcyB0cmFuc2Zvcm1zCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQppbmRleCA3MWRkZDY2Li5iYzI5YmU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTU0NzMsNiArNTQ3Myw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBs
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5k
bGUuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRl
SW5mby5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JTdG9yYWdlRGF0
YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Nvb2tpZVN0b3JhZ2UuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwIFwK
QEAgLTU1MDgsNiArNTUwOSw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKaW5kZXggMTJkOGUwYi4uMTE0MjRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UK
QEAgLTE1Myw2ICsxNTMsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRm
b3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxh
dGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29v
a2llU3RvcmFnZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxT
dG9yYWdlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMTk3ZTFkNi4uMmE0
YjUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTE4OCw2ICsxODgsNyBAQCBsaXN0
KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3JrL2d0ay9DcmVkZW50
aWFsQmFja2luZ1N0b3JlLmNwcAogCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlU291cC5jcHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlm
aWNhdGVJbmZvLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNw
cAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdlU291cC5jcHAKICAgICBw
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgppbmRleCAwZWFhMGU2Li44OGMwMGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAt
NjcsNiArNjcsOSBAQCBfX1pOM1dURjEwU3RyaW5nSW1wbGN2UDhOU1N0cmluZ0V2CiBfX1pOM1dU
RjEyQXRvbWljU3RyaW5nM2FkZEVQSzEwX19DRlN0cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUDhO
U1N0cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUEsxMF9fQ0ZTdHJpbmcKK19fWk43V2ViQ29yZTE1
Q2VydGlmaWNhdGVJbmZvQzFFUktOU18xNlJlc291cmNlUmVzcG9uc2VFCitfX1pON1dlYkNvcmUx
NUNlcnRpZmljYXRlSW5mb0MxRVBLOV9fQ0ZBcnJheQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0
ZUluZm9DMUV2CiBfX1pON1dlYkNvcmUxMENsaWVudFJlY3RDMUVSS05TXzdJbnRSZWN0RQogX19a
TjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlMTBD
bGllbnRSZWN0QzFFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGQ1NWI3YzIuLmE4NjMzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5NDEsNyArMTk0MSwx
MCBAQAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlOYW1lcy5oIGlu
IENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMuaCAqLzsgfTsK
IAkJNURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQTBEMTVGNjQy
MDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURGRThGNTcwRDE2NDc3
QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxl
ZEFjdGlvbi5oICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogQ2VydGlmaWNh
dGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLzsg
fTsKKwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2
OTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNCAvKiBKU0V2
ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovOyB9OworCQk1
RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZFMUQyOTExNzhGRDFGMzAw
MUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAw
MUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5jcHAgKi87IH07CiAJCTYyNkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0
aWFsTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMx
MjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyog
TmV0d29ya2luZ0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtODY2OSw3ICs4NjcyLDEwIEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBF
MzY3NiAvKiBTeXN0ZW1WZXJzaW9uTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU3lzdGVtVmVyc2lvbk1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9y
bVNvdXJjZUxpYnhzbHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm9NYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAv
KiBDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2Vy
dGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2Q0ZF
MjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29y
azsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4uLy4uLy4uL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5hdmln
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0MjRD
MDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzUxOSw2ICsxMzUyNSw3IEBACiAJCQlpc2EgPSBQQlhG
cmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJ
CQlmaWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8q
IEFjY2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMwODI0
NUU1OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzODY1LDYgKzEzODcyLDcgQEAKIAkJMDg2N0Q2
OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5
LmZyYW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmgg
Ki8sCiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywK
IAkJCQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywK
QEAgLTE1NDIyLDYgKzE1NDMwLDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENF
OTIzNEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENF
OTIzNEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFODE3
OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCisJCQkJNUYyREJCRTcxNzhF
MzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLywKIAkJCQlFMTQyNEM4RjE2
NEI0NjBCMDBGMzJENDAgLyogQ29va2llSmFyTWFjLm1tICovLAogCQkJCUUxM0YwMUYwMTI3MEUx
OTAwMERGQkE3MSAvKiBDb29raWVTdG9yYWdlTWFjLm1tICovLAogCQkJCUUxQjRDRDI0MTBCMzIy
RTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLywKQEAgLTI0MTIxLDYgKzI0
MTMxLDcgQEAKIAkJCQkwRjEzMTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1DQUZpbHRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0
Zm9ybUNBTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4
MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTVGQTkwNENB
MTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA3QzU5QjU0MTdGNEFDMTUwMDBGQkNCQiAvKiBBdWRpb1N0cmVhbVRyYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9y
bUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4Mjk4LDYgKzI4MzA5LDcgQEAKIAkJCQk5NzdF
MkUwRTEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxNzJBRjhGMTgxMUJDMzcwMEZCQURCOSAvKiBKU0RPTVByb21pc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZp
Y2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2
QTggLyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEw
MEQ4MzZBOCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3
NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm8u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mby5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4YjNjZGEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUlu
Zm8uaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDZXJ0aWZpY2F0ZUlu
Zm9faAorI2RlZmluZSBDZXJ0aWZpY2F0ZUluZm9faAorCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZVJlc3BvbnNlLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIENlcnRpZmljYXRlSW5mbyB7CitwdWJsaWM6CisgICAgQ2VydGlm
aWNhdGVJbmZvKCk7CisgICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmKTsKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0
aWZpY2F0ZUNoYWluKTsKKworICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4pIHsgbV9jZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFp
bjsgfQorICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1f
Y2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQorCisjaWZuZGVmIE5ERUJVRworICAgIHZvaWQgZHVt
cCgpIGNvbnN0OworI2VuZGlmCisKK3ByaXZhdGU6CisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+
IG1fY2VydGlmaWNhdGVDaGFpbjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4yMDNjOWNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0wLDAg
KzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkNlcnRp
ZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmljYXRlSW5mbzo6
Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCisgICAgOiBtX2NlcnRpZmljYXRl
Q2hhaW4ocmVzcG9uc2UuY2VydGlmaWNhdGVDaGFpbigpKQoreworfQorCitDZXJ0aWZpY2F0ZUlu
Zm86OkNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCisgICAgOiBt
X2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKK3sKK30KKworI2lmbmRlZiBOREVC
VUcKK3ZvaWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKK3sKKyAgICB1bnNpZ25lZCBl
bnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlmaWNh
dGVDaGFpbi5nZXQoKSkgOiAwOworCisgICAgTlNMb2coQCJDZXJ0aWZpY2F0ZUluZm9cbiIpOwor
ICAgIE5TTG9nKEAiICBFbnRyaWVzOiAlZFxuIiwgZW50cmllcyk7CisgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGVudHJpZXM7ICsraSkgeworICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdS
ZWY+IHN1bW1hcnkgPSBhZG9wdENGKFNlY0NlcnRpZmljYXRlQ29weVN1YmplY3RTdW1tYXJ5KChT
ZWNDZXJ0aWZpY2F0ZVJlZilDRkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2VydGlmaWNhdGVDaGFp
bi5nZXQoKSwgaSkpKTsKKyAgICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3RyaW5nICopc3VtbWFy
eS5nZXQoKSk7CisgICAgfQorfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCBmMzg5ZjFlLi43YWZmZTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjMgQEAK
IDIwMTMtMTEtMjEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAorICAg
ICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHA6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbToKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5j
bWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTaGFyZWQvQVBJ
L2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVu
dGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNo
YXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbToKKyAg
ICAgICAgKiBTaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaDoKKyAgICAgICAgKFdlYktpdDo6VXNl
ck1lc3NhZ2VEZWNvZGVyOjpiYXNlRGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ2VydGlm
aWNhdGVJbmZvLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OldlYkNlcnRpZmljYXRlSW5m
byk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAg
IChDb3JlSVBDOjo6OmVuY29kZSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAg
ICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJlZC9t
YWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNv
ZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEp
OgorICAgICAgICAqIFNoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmg6IFJlbW92ZWQuCisgICAgICAg
ICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6CisgICAgICAgIChD
b3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29k
ZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNy
ZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJh
bWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KToKKworMjAxMy0x
MS0yMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgorCiAgICAgICAgIFJl
bmFtZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB0byBDZXJ0aWZpY2F0ZUluZm8KICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDE1MAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIv
R05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5ZDE1ODVlLi5lMTJmZjI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dO
VW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ4MSw4ICs0ODEsNiBAQCB3ZWJraXQyX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0
YXRpc3RpY3NEYXRhLmggXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRl
SW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5o
IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3Jh
Z2VUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5o
IFwKQEAgLTEzNjUsOCArMTM2Myw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsu
Y3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgXAot
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAogCVNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVy
Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05l
dHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IDg2NWI0YzAuLmU1MDllZTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91
c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmgiCiAK
LSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDg1YjU2ZjguLjZhOTNkODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMzUsMTAgKzM1LDEy
IEBACiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAKLW5hbWVzcGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworfQogCituYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50Owogc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtMTA0LDcg
KzEwNiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZFJlcXVlc3QodWludDY0X3QgZG93
bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdm9pZCBjYW5j
ZWxEb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lkIHNldENhY2hlTW9kZWwo
dWludDMyX3QpOwotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBh
bGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGdldE5ldHdvcmtQcm9j
ZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGNsZWFyQ2FjaGVG
b3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmlu
ZGV4IGY5NjRhN2YuLjMyYmNlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0zOSw3ICszOSw3IEBA
IG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRQcm9j
ZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNlbmRpZgogCi0gICAgQWxsb3dTcGVj
aWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3Ry
aW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90
IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA0MzJlYzc2Li4yZjhhNDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkFzeW5jaHJvbm91
c05ldHdvcmtMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIu
aCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtCbG9iUmVnaXN0cnku
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3Jr
UHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3Jr
UHJvY2Vzc01hYy5tbQppbmRleCAwOTY0NmM4Li45NjFhNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCkBAIC0y
OCwxMyArMjgsMTMgQEAKIAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAKLSNpbXBvcnQg
IkNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgogI2ltcG9ydCAiUmVz
b3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1w
b3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJpbmdV
dGlsaXRpZXMuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5n
cy5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZs
LmNtYWtlCmluZGV4IDZkM2U3MTIuLmU3MjY4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtl
CkBAIC00OSw3ICs0OSw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNj
b21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlmaWNh
dGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
CiAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUdUSy5jbWFrZQppbmRleCAxYjFjNTU0Li40ZDgxNzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5j
bWFrZQpAQCAtNjEsNyArNjEsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBT
aGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgv
U2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9zb3VwL0NlcnRp
ZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3Vw
LmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFj
Lm1tCmluZGV4IDMyZWMwZjQuLjMyZmEyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAtMjksNiArMjks
NyBAQAogI2ltcG9ydCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJXZWJDZXJ0aWZpY2F0ZUluZm8u
aCIKIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owog
CiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0Zmlj
YXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5oCmluZGV4IDRmNjVlOWYuLjQ5NzU5ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKQEAg
LTM0LDEzICszNCwxMyBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKLSAgICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKLSAgICBjbGFzcyBD
cmVkZW50aWFsOworY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0aWZp
Y2F0ZUluZm87CitjbGFzcyBDcmVkZW50aWFsOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgQ2hpbGRQcm9jZXNzOwogY2xhc3MgRG93bmxv
YWQ7CiBjbGFzcyBXZWJGcmFtZTsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIC8vIENh
bGxlZCBmb3IgZG93bmxvYWRzIHdpdGggb3Igd2l0aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MKICAg
ICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3dubG9hZCosIGNvbnN0
IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKLSAgICB2b2lkIHVzZUNyZWRl
bnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNy
ZWRlbnRpYWwmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRp
YWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRl
bnRpYWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRp
bnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwog
ICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAg
LTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVzZUNl
cnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5VXNlQ2VydGlm
aWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAKICAgICB1aW50NjRfdCBl
c3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2Vz
LmluCmluZGV4IGRhMTNmMzQuLjM0ZGI5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNz
YWdlcyAtPiBBdXRoZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZv
ckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVk
ZW50aWFsLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBV
c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpD
cmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2
NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFs
bGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5k
ZXggYTg2MThjZC4uOGI2ZDcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2Vy
Lm1hYy5tbQpAQCAtMjgsOSArMjgsOSBAQAogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykK
IAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPFNlY3VyaXR5L1NlY0lk
ZW50aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VD
b2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmluZGV4
IGJhZjk3NWIuLjM3ZDIzNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2Vy
TWVzc2FnZUNvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNv
ZGVycy5oCkBAIC01MDQsNyArNTA0LDcgQEAgcHVibGljOgogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6Q2VydGlmaWNhdGVJbmZv
OiB7Ci0gICAgICAgICAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAgICAg
ICAgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKICAgICAgICAg
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0
ZUluZm86OmNyZWF0ZShjZXJ0aWZpY2F0ZUluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNlcnRpZmljYXRlSW5mby5oCmluZGV4IGU5MDFkMzAuLmZlY2I5NGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTI3LDI3ICsyNywyNyBAQAogI2Rl
ZmluZSBXZWJDZXJ0aWZpY2F0ZUluZm9faAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5j
bHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUlu
Zm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGljIEFQSTo6VHlwZWRPYmplY3Q8QVBJ
OjpPYmplY3Q6OlR5cGU6OkNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IENlcnRpZmljYXRlSW5m
byYgaW5mbykKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0
ZShjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgewogICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYkNlcnRpZmljYXRlSW5mbyhpbmZvKSk7CiAgICAgfQogCi0g
ICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVy
biBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0K
IAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgQ2VydGlm
aWNhdGVJbmZvJiBpbmZvKQorICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgICAgIDogbV9jZXJ0aWZpY2F0ZUlu
Zm8oaW5mbykKICAgICB7CiAgICAgfQogCi0gICAgQ2VydGlmaWNhdGVJbmZvIG1fY2VydGlmaWNh
dGVJbmZvOworICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBiYzgzMWZjLi44MzYwZjdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjgs
NiArMjgsNyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0NyZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpAQCAtODUsNiAr
ODYsMjIgQEAgYm9vbCBBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0cml4Pjo6ZGVjb2Rl
KEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgVHJhbnMKICAgICByZXR1cm4gU2ltcGxlQXJndW1l
bnRDb2RlcjxUcmFuc2Zvcm1hdGlvbk1hdHJpeD46OmRlY29kZShkZWNvZGVyLCB0cmFuc2Zvcm1h
dGlvbk1hdHJpeCk7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+Ojpl
bmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbykKK3sKKyAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgY2VydGlm
aWNhdGVJbmZvKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRl
Y29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKQoreworICAgIENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZTsKKworICAgIGlmICgh
ZGVjb2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIGNlcnRpZmljYXRlKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgY2VydGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGU7CisKKyAgICByZXR1
cm4gdHJ1ZTsKK30KIAogdm9pZCBBcmd1bWVudENvZGVyPEZsb2F0UG9pbnQ+OjplbmNvZGUoQXJn
dW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGbG9hdFBvaW50JiBmbG9hdFBvaW50KQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDY4
ODgxMzkuLjI4OWU3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOworY2xhc3Mg
Q2VydGlmaWNhdGVJbmZvOwogY2xhc3MgQ29sb3I7CiBjbGFzcyBDcmVkZW50aWFsOwogY2xhc3Mg
Q3Vyc29yOwpAQCAtOTMsNiArOTQsMTMgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2Rl
cjxXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeD4gewogICAgIHN0YXRpYyBib29sIGRlY29k
ZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOwogfTsK
IAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50
RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyB2b2lkIGVu
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UG9pbnQ+IHsKICAgICBzdGF0aWMgdm9p
ZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwog
ICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpGbG9hdFBv
aW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRl
SW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8uaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGRkYzc1MS4uMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEs
NjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZp
bmUgQ2VydGlmaWNhdGVJbmZvX2gKLQotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25z
ZS5oPgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewot
Y2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBD
ZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhD
RkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOwotCi0gICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0
ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOyB9Ci0KLSAg
ICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0
aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgQ2VydGlmaWNhdGVJbmZv
Jik7Ci0KLSNpZm5kZWYgTkRFQlVHCi0gICAgdm9pZCBkdW1wKCkgY29uc3Q7Ci0jZW5kaWYKLQot
cHJpdmF0ZToKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBDZXJ0aWZpY2F0ZUluZm9f
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8u
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5tbQpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjYwZWFiNi4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5tbQorKysgL2Rldi9udWxsCkBAIC0xLDkx
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkNlcnRp
ZmljYXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJB
cmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgotCi11c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLUNlcnRpZmljYXRlSW5m
bzo6Q2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0
ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmlj
YXRlQ2hhaW4ocmVzcG9uc2UuY2VydGlmaWNhdGVDaGFpbigpKQotewotfQotCi1DZXJ0aWZpY2F0
ZUluZm86OkNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAg
OiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBDZXJ0
aWZpY2F0ZUluZm86OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNv
bnN0Ci17Ci0gICAgaWYgKCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8
PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsK
LSAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsK
LX0KLQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29k
ZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhhc0NlcnRpZmlj
YXRlQ2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIs
IGMubV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0
dXJuIHRydWU7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12b2lkIENlcnRpZmljYXRlSW5mbzo6ZHVt
cCgpIGNvbnN0Ci17Ci0gICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFpbiA/
IENGQXJyYXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKLQotICAgIE5T
TG9nKEAiQ2VydGlmaWNhdGVJbmZvXG4iKTsKLSAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIs
IGVudHJpZXMpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsK
LSAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0
aWZpY2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZh
bHVlQXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7Ci0gICAgICAgIE5TTG9n
KEAiICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOwotICAgIH0KLX0KLSNlbmRpZgot
Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KaW5kZXggY2U5YzA2ZC4uZTZlOTIzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRD
b2RlcnNNYWMubW0KQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21w
YW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTI4LDE0ICsyOSwxMyBAQAogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NG
LmgiCiAjaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW1wb3J0ICJDZXJ0aWZpY2F0ZUluZm8u
aCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9D
ZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgogI2lt
cG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNl
UmVxdWVzdC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTM0LDYgKzEzNCwzNiBAQCBib29s
IEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudERlY29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50
Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2Rl
ciYgZW5jb2RlciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7Cisg
ICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmlj
YXRlQ2hhaW4oKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2Rl
ciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1
ZTsKKyAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisK
K2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEo
QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
aWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJl
dGFpblB0cjxDRkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6
ZGVjb2RlKGRlY29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNo
YWluLmdldCgpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5z
U3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgp
ID8gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
VW5pQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDog
QCIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJ
bmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllOTI1MTguLjAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDExNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50
RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4K
LSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1DZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbygp
Ci0gICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkp
Ci17Ci19Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNwb25zZS5zb3VwTWVz
c2FnZUNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhyZXNwb25zZS5zb3VwTWVzc2Fn
ZVRMU0Vycm9ycygpKQotewotfQotCi1DZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhj
b25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQotICAgIDogbV9jZXJ0aWZpY2F0ZShy
ZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2Fz
dDxHVGxzQ2VydGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50bHNFcnJvcnMoKSkpCi17Ci19
Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSogY2Vy
dGlmaWNhdGUsIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykKLSAgICA6IG1fY2VydGlm
aWNhdGUoY2VydGlmaWNhdGUpCi0gICAgLCBtX3Rsc0Vycm9ycyh0bHNFcnJvcnMpCi17Ci19Ci0K
LUNlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgQ2VydGlm
aWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNl
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVE
YXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQoKSks
ICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2VydGlm
aWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBj
ZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIuZW5j
b2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZp
Y2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nh
c3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86OmRl
Y29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYgKCFk
ZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVy
ZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmlj
YXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNl
LnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0
aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRl
RGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNh
dGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBiYWNr
ZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5mby5t
X2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3
KAotICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAw
LCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgbnVsbHB0cikpKTsKLQotICAg
IHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJvcnMg
PSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAgIHJl
dHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGViNTU4YWEuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2Vy
dGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIFBvcnRp
b25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDZXJ0aWZpY2F0ZUluZm9faAotI2RlZmlu
ZSBDZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0jaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBB
cmd1bWVudERlY29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLWNsYXNzIFJlc291cmNlRXJyb3I7Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwot
fQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKLXB1Ymxp
YzoKLSAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IENlcnRpZmlj
YXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7Ci0gICAgZXhwbGljaXQgQ2Vy
dGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSosIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzKTsKLSAg
ICB+Q2VydGlmaWNhdGVJbmZvKCk7Ci0KLSAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRl
KCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0KLSAg
ICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0
aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgQ2VydGlmaWNhdGVJbmZv
Jik7Ci0KLXByaXZhdGU6Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNh
dGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIENlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwCmluZGV4IDU0Yzk1ZjUuLjA3Y2QxMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEs
NyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHks
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiArMjYsMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJy
b3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBu
YW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTY3LDYgKzY4LDU1IEBAIGJvb2wgQXJndW1lbnRDb2Rl
cjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYg
ZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZp
Y2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBpZiAoIWNlcnRp
ZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEg
PSAwOworICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNh
dGUoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOworICAgIGlmICgh
Y2VydGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgR1JlZlB0cjxHQnl0ZUFy
cmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworICAgIGVuY29k
ZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShj
ZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOworICAgIGVuY29kZXIgPDwgc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KGNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jv
b2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykK
K3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFz
Q2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRp
ZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJp
YWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVf
YXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIGNl
cnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0
aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6
ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdS
ZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNf
YmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0
aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldygKKyAg
ICAgICAgZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwg
ImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgbnVsbHB0cikpKTsKKyAgICBj
ZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAg
dWludDMyX3QgdGxzRXJyb3JzOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMo
c3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0
dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJv
ciYgcmVzb3VyY2VFcnJvcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggYjU4ODA0MC4uMmE4MTcyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJW
aWV3LmgiCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJJbWFnZU9w
dGlvbnMuaCIKICNpbmNsdWRlICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJD
b250ZXh0TWVudUl0ZW0uaCIKQEAgLTYwLDYgKzU5LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJW
aWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgi
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Q2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvR093blB0ckd0ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0clNvdXAu
aD4KQEAgLTMwMjgsNyArMzAyOCw3IEBAIGdib29sZWFuIHdlYmtpdF93ZWJfdmlld19nZXRfdGxz
X2luZm8oV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1Rsc0NlcnRpZmljYXRlKioKICAgICBpZiAo
IW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgY29uc3QgQ2VydGlmaWNh
dGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5j
ZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPmNlcnRpZmljYXRl
SW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAgICAgICAgKmNlcnRpZmljYXRlID0gY2Vy
dGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAppbmRleCA4ZDIwYzc2Li5kNTU3M2Rh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBAIC02
Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVu
dGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3JlZGVu
dGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAgICAg
IFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2VydGlm
aWNhdGVJbmZvKCk7Ci0gICAgICAgIENlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0
aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygpIDogQ2VydGlm
aWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUlu
Zm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygp
IDogV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2Vu
ZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxl
bmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5k
ZXggNjczZTdlYy4uMmVmM2M1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmNwcApAQCAtMTMxLDcgKzEzMSw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFp
bFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV9mcmFtZUxvYWRTdGF0ZS5kaWRGYWlsUHJvdmlzaW9u
YWxMb2FkKCk7CiB9CiAKLXZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBT
dHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRl
bnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykK
IHsKICAgICBtX2ZyYW1lTG9hZFN0YXRlLmRpZENvbW1pdExvYWQoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKaW5kZXggN2I4NWZmMi4uN2FlOTkxOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCkBAIC00MCw5ICs0MCwxMSBAQCBu
YW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsKIH0KIAotbmFtZXNwYWNl
IFdlYktpdCB7Ci0KK25hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENlcnRpZmljYXRlSW5mbzsK
K30KKworbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFz
cyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHk7CkBAIC05OSw3ICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRSZWNlaXZl
U2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAg
IHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZChj
b25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2
b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkKCk7CiAgICAgdm9p
ZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbihjb25z
dCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9uLCBzZXNzaW9uIHN0YXRlIGNoYW5n
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZGVmYTFl
NS4uMWVmNWNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTIyMTIsNyArMjIxMiw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjbGVhckxvYWREZXBlbmRl
bnRDYWxsYmFja3MoKQogICAgIH0KIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50
MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCit2b2lkIFdlYlBhZ2VQ
cm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUsIHVpbnQzMl90IG9wYXF1ZUZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2Rl
ciYgZGVjb2RlcikKIHsKICAgICBSZWZQdHI8QVBJOjpPYmplY3Q+IHVzZXJEYXRhOwogICAgIFdl
YkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVzc2FnZURlY29kZXIodXNlckRhdGEsIG1fcHJv
Y2Vzcy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
M2VkYzhhOC4uZjZkZjQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtNzcyLDcgKzc3Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAg
IHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
KTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBDZXJ0
aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZvaWQgZGlkQ29t
bWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUs
IHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwog
ICAgIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90
IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KaW5kZXggYWNhZjcxYS4uNmQxY2EwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTEsNyArMTExLDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50
NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50
MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRp
YworICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmlu
ZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBj
ZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIg
dXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxl
VXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxQcm92aXNp
b25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
IGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRh
KSBWYXJpYWRpYwogICAgIERpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMzA1YTZkOC4uYzY3NWEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTEzMCw4ICsxMTMwLDYgQEAK
IAkJQkNGMTg2MzgxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGMTg2MzcxNjdEMDcxRTAwQTFB
ODVBIC8qIENhY2hlTW9kZWwuY3BwICovOyB9OwogCQlCQ0Y0REUyMzE2OEU0QkQ1MDBDOTRBRkMg
LyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1By
b2Nlc3NTdXBwbGVtZW50LmggKi87IH07CiAJCUJDRjRERTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBX
ZWJDb250ZXh0U3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVt
ZW50LmggKi87IH07Ci0JCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUlu
Zm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUw
NUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1
RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAv
KiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi87IH07CiAJCUJDRjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAv
KiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRjUwNzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgfTsKIAkJQkNGNjlGODYxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGll
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNG
NjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICovOyB9OwogCQlC
Q0Y2OUY4NzExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODUxMTc2Q0Q2RjAwNDcx
QTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCAqLzsgfTsKQEAgLTI2OTUsOCArMjY5Myw2IEBACiAJ
CUJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlTW9kZWwuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NT
dXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9j
ZXNzU3VwcGxlbWVudC5oOyBwYXRoID0gTmV0d29yay9OZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZD
IC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkNvbnRleHRTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUlu
Zm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0
ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEw
MDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFNlY3VyaXR5
LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZy
YW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlB
QTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NjQxLDggKzQ2MzcsNiBAQAogCQkJCUM1
NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5
NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCAqLywKIAkJCQlFMTk1ODJE
NDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEy
NDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCi0JCQkJQkNGNTA1RTYxMjQz
MDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLywKIAkJCQlFMUNDMUI4RjEyRDdF
QURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICovLAogCQkJCTJENDdCNTZBMTgxMDcxNEUw
MDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbSAqLywKIAkJCQkyRDQ3QjU2QjE4
MTA3MTRFMDAzQTNBRUUgLyogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCAqLywKQEAgLTU2MzIs
NyArNTYyNiw2IEBACiAJCQkJQzU3NEE1ODExMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRU
eXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE5NTgyRDMxNTNDQkZENzAwQjYwODc1IC8qIFBE
RktpdEltcG9ydHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRkNCMTg5MTdCQkZFMDMwMDM5NENE
OCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAotCQkJ
CUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBRTAwRDRGMTgyRDZGNTAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhh
bmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0M0M0FCQjEyN0I5NURDMDAzMTdG
MTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg3ODBG
QzExNjFDMkI4MDBDQzI3NjggLyogUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIGluIEhlYWRl
cnMgKi8sCkBAIC02OTQ1LDcgKzY5MzgsNiBAQAogCQkJCTJEMkFERjEwMTYzNjREODIwMDE5N0U0
NyAvKiBQREZQbHVnaW5DaG9pY2VBbm5vdGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0
MjlCRkQxNzIxRTJDNzAwRUM2ODFGIC8qIFBERlBsdWdpblBhc3N3b3JkRmllbGQubW0gaW4gU291
cmNlcyAqLywKIAkJCQkyRDJBREYwOTE2MzYyREQ1MDAxOTdFNDcgLyogUERGUGx1Z2luVGV4dEFu
bm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUg
LyogQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQkExMjdCOTVE
QzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxQTZGQjdEMjExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGE1Yjg0NDljLi5jN2ZiNGQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVOQUJMRShORVRXT1JLX1BS
T0NFU1MpCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbi5oIgpAQCAtMzYsNiArMzUsNyBAQAogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVu
dENvZGVycy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3Mu
aCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvRG9jdW1lbnRMb2FkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCmluZGV4IGZkMmVm
YTIuLmY3NDUyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIERhdGFSZWZl
cmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsK
IGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKIGNsYXNzIFJlc291cmNlQnVmZmVyOwogY2xhc3MgUmVz
b3VyY2VFcnJvcjsKQEAgLTUwLDcgKzUxLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKIHR5cGVkZWYgdWlu
dDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAogY2xhc3MgV2ViUmVzb3VyY2VMb2FkZXIg
OiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxvYWRlcj4sIHB1YmxpYyBDb3JlSVBDOjpN
ZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgd2ls
bFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOwogICAgIHZvaWQgZGlkU2Vu
ZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwot
ICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVk
c0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CisgICAgdm9pZCBkaWRSZWNlaXZl
UmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVE
aWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0
IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKTsKICAg
ICB2b2lkIGRpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSk7CiAgICAgdm9p
ZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgppbmRleCA5OGE4NzhmLi40YTYyMDQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCkBAIC0yOSw3ICsyOSw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKICAgICAvLyBGSVhNRSAoTmV0d29ya1By
b2Nlc3MpOiBXZSdsbCBuZWVkIG11Y2ggbW9yZSBncmFudWxhcml0eSBmb3IgcmVzcG9uc2UgbWVz
c2FnZXMuCiAgICAgV2lsbFNlbmRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1
ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlZGlyZWN0UmVzcG9uc2UpCiAgICAgRGlk
U2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQp
Ci0gICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCisgICAg
RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZv
LCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQogICAgIERpZFJl
Y2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgaW50NjRfdCBlbmNvZGVkRGF0
YUxlbmd0aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpCiAg
ICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCA1OWZmOGQ4Li5lMTRiOWFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1
ZGUgIldlYkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1h
bmFnZXIuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKQEAgLTUxLDYgKzUwLDcgQEAKICNpbmNsdWRl
ICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQ
SUNhc3QuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdC5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0RPTVdyYXBwZXJXb3JsZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RG9jdW1lbnRMb2FkZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5k
ZXggZTgwOTk5Zi4uYTU1YWMxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKQEAgLTUxLDYgKzUxLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZUdyb3Vw
OwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owogc3RydWN0IFBsdWdpbkluZm87CisjaWYgIUVOQUJM
RShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQorY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwor
I2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNzIsMTAgKzc1LDYgQEAgc3RydWN0
IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VT
UykKIGNsYXNzIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjsKIGNsYXNzIFdlYlJlc291cmNlTG9h
ZFNjaGVkdWxlcjsKLSNlbHNlCi0jaWYgVVNFKFNPVVApCi1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87
Ci0jZW5kaWYKICNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCkBAIC0xNzQs
NyArMTczLDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlQWN0aXZlUGFnZXMoKTsKIAogI2lm
ICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0UoU09VUCkKLSAgICB2b2lkIGFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBjb25z
dCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9z
dCk7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBkMmM0YWMwLi45MDdiNzg0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC04Nyw2
ICs4Nyw2IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogI2VuZGlm
CiAKICNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykgJiYgVVNFKFNPVVApCi0gICAgQWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNl
cnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRp
ZmljYXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6
U3RyaW5nIGhvc3QpCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCmluZGV4IGMwYzIwNmMuLjY5MWRiM2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcApAQCAt
MjEwLDcgKzIxMCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0SWdub3JlVExTRXJyb3JzKGJvb2wg
aWdub3JlVExTRXJyb3JzKQogfQogCiAjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpCi12b2lk
IFdlYlByb2Nlc3M6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBD
ZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgY29uc3QgU3RyaW5nJiBob3N0KQordm9p
ZCBXZWJQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3Qg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGNvbnN0IFN0cmluZyYg
aG9zdCkKIHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0Q2xpZW50Q2VydGlmaWNh
dGUoaG9zdCwgY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217579</attachid>
            <date>2013-11-21 10:08:04 -0800</date>
            <delta_ts>2013-11-21 10:12:11 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>59462</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YmUwMWZiLi41NjIzNTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTMtMTEtMjEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmlj
YXRlSW5mby5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlm
aWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5m
b01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNh
dGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0
ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpkdW1wKToKKwogMjAx
My0xMS0yMSAgTWloYWkgTWFlcmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNvbT4KIAogICAgICAgICBG
aXggaG92ZXIgYXJlYSBmb3IgZGl2cyB3aXRoIGNzcyB0cmFuc2Zvcm1zCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQppbmRleCA3MWRkZDY2Li5iYzI5YmU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTU0NzMsNiArNTQ3Myw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBs
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5k
bGUuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRl
SW5mby5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JTdG9yYWdlRGF0
YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Nvb2tpZVN0b3JhZ2UuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwIFwK
QEAgLTU1MDgsNiArNTUwOSw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKaW5kZXggMTJkOGUwYi4uMTE0MjRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UK
QEAgLTE1Myw2ICsxNTMsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRm
b3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxh
dGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29v
a2llU3RvcmFnZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxT
dG9yYWdlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMTk3ZTFkNi4uMmE0
YjUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTE4OCw2ICsxODgsNyBAQCBsaXN0
KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3JrL2d0ay9DcmVkZW50
aWFsQmFja2luZ1N0b3JlLmNwcAogCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlU291cC5jcHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlm
aWNhdGVJbmZvLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNw
cAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdlU291cC5jcHAKICAgICBw
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgppbmRleCAwZWFhMGU2Li44OGMwMGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAt
NjcsNiArNjcsOSBAQCBfX1pOM1dURjEwU3RyaW5nSW1wbGN2UDhOU1N0cmluZ0V2CiBfX1pOM1dU
RjEyQXRvbWljU3RyaW5nM2FkZEVQSzEwX19DRlN0cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUDhO
U1N0cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUEsxMF9fQ0ZTdHJpbmcKK19fWk43V2ViQ29yZTE1
Q2VydGlmaWNhdGVJbmZvQzFFUktOU18xNlJlc291cmNlUmVzcG9uc2VFCitfX1pON1dlYkNvcmUx
NUNlcnRpZmljYXRlSW5mb0MxRVBLOV9fQ0ZBcnJheQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0
ZUluZm9DMUV2CiBfX1pON1dlYkNvcmUxMENsaWVudFJlY3RDMUVSS05TXzdJbnRSZWN0RQogX19a
TjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlMTBD
bGllbnRSZWN0QzFFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGQ1NWI3YzIuLmE4NjMzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5NDEsNyArMTk0MSwx
MCBAQAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlOYW1lcy5oIGlu
IENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMuaCAqLzsgfTsK
IAkJNURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQTBEMTVGNjQy
MDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURGRThGNTcwRDE2NDc3
QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxl
ZEFjdGlvbi5oICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogQ2VydGlmaWNh
dGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLzsg
fTsKKwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2
OTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNCAvKiBKU0V2
ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovOyB9OworCQk1
RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZFMUQyOTExNzhGRDFGMzAw
MUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAw
MUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5jcHAgKi87IH07CiAJCTYyNkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0
aWFsTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMx
MjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyog
TmV0d29ya2luZ0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtODY2OSw3ICs4NjcyLDEwIEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBF
MzY3NiAvKiBTeXN0ZW1WZXJzaW9uTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU3lzdGVtVmVyc2lvbk1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9y
bVNvdXJjZUxpYnhzbHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm9NYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAv
KiBDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2Vy
dGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2Q0ZF
MjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29y
azsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4uLy4uLy4uL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5hdmln
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0MjRD
MDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzUxOSw2ICsxMzUyNSw3IEBACiAJCQlpc2EgPSBQQlhG
cmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJ
CQlmaWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8q
IEFjY2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMwODI0
NUU1OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzODY1LDYgKzEzODcyLDcgQEAKIAkJMDg2N0Q2
OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5
LmZyYW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmgg
Ki8sCiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywK
IAkJCQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywK
QEAgLTE1NDIyLDYgKzE1NDMwLDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENF
OTIzNEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENF
OTIzNEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFODE3
OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCisJCQkJNUYyREJCRTcxNzhF
MzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLywKIAkJCQlFMTQyNEM4RjE2
NEI0NjBCMDBGMzJENDAgLyogQ29va2llSmFyTWFjLm1tICovLAogCQkJCUUxM0YwMUYwMTI3MEUx
OTAwMERGQkE3MSAvKiBDb29raWVTdG9yYWdlTWFjLm1tICovLAogCQkJCUUxQjRDRDI0MTBCMzIy
RTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLywKQEAgLTI0MTIxLDYgKzI0
MTMxLDcgQEAKIAkJCQkwRjEzMTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1DQUZpbHRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0
Zm9ybUNBTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4
MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTVGQTkwNENB
MTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA3QzU5QjU0MTdGNEFDMTUwMDBGQkNCQiAvKiBBdWRpb1N0cmVhbVRyYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9y
bUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4Mjk4LDYgKzI4MzA5LDcgQEAKIAkJCQk5NzdF
MkUwRTEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxNzJBRjhGMTgxMUJDMzcwMEZCQURCOSAvKiBKU0RPTVByb21pc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZp
Y2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2
QTggLyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEw
MEQ4MzZBOCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3
NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKc2ltaWxhcml0
eSBpbmRleCA4NyUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZp
Y2F0ZUluZm8uaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
Q2VydGlmaWNhdGVJbmZvLmgKaW5kZXggNGRkYzc1MS4uYzhiM2NkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjksMjQgKzI5
LDE3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERl
Y29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewor
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDZXJ0aWZpY2F0ZUluZm8gewogcHVibGljOgog
ICAgIENlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUlu
Zm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKTsKIAorICAgIHZvaWQgc2V0Q2VydGlmaWNh
dGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pIHsgbV9jZXJ0aWZpY2F0ZUNoYWlu
ID0gY2VydGlmaWNhdGVDaGFpbjsgfQogICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigp
IGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQogCi0gICAgdm9pZCBl
bmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wg
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIENlcnRpZmljYXRlSW5mbyYpOwotCiAj
aWZuZGVmIE5ERUJVRwogICAgIHZvaWQgZHVtcCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQpzaW1pbGFy
aXR5IGluZGV4IDc1JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRp
ZmljYXRlSW5mby5tbQpyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4IDI2MGVhYjYuLjIwM2M5Y2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQpA
QCAtMjYsMTMgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQ2VydGlmaWNh
dGVJbmZvLmgiCiAKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkFyZ3Vt
ZW50RGVjb2Rlci5oIgotI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVyLmgiCi0KLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsK
IAogQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQogewpAQCAtNDgsMzIgKzQyLDYg
QEAgQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0
ZUNoYWluKQogewogfQogCi12b2lkIENlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVD
aGFpbikgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBt
X2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOwotfQotCi1ib29sIENlcnRpZmljYXRlSW5mbzo6ZGVj
b2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBj
KQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKLSAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBp
ZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYg
KCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgYy5tX2NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogI2lmbmRlZiBOREVCVUcK
IHZvaWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKIHsKQEAgLTg4LDQgKzU2LDQgQEAg
dm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAogfQogI2VuZGlmCiAKLX0gLy8gbmFt
ZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGYzODlm
MWUuLjdhZmZlMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw2MyBAQAogMjAxMy0xMS0yMSAgQ3Nh
YmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCisgICAgICAgIE1vdmUgQ2VydGlm
aWNhdGVJbmZvIHRvIFdlYkNvcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNDcyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdv
cmtQcm9jZXNzTWFjLm1tOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAq
IFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZp
Y2F0ZUluZm9NYWMubW06CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50
aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9V
c2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURlY29kZXI6
OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OmNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBT
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5j
b2RlKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW06CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6
CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hh
cmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQv
c291cC9DZXJ0aWZpY2F0ZUluZm8uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvc291cC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAg
KHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZVByb3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHA6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAv
V2ViUHJvY2Vzc1NvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphbGxvd1Nw
ZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QpOgorCisyMDEzLTExLTIxICBDc2FiYSBPc3p0
cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKICAgICAgICAgUmVuYW1lIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIHRvIENlcnRpZmljYXRlSW5mbwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MTUwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IDlkMTU4NWUuLmUxMmZmMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dO
VW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5h
bQpAQCAtNDgxLDggKzQ4MSw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlz
dGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuaCBc
Ci0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUuaCBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApAQCAtMTM2NSw4ICsx
MzYzLDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAgXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291cmNlL1dlYktpdDIv
U2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVk
L3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dl
YkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
TGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVu
dC5jcHAKaW5kZXggODY1YjRjMC4uZTUwOWVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNs
aWVudC5jcHAKQEAgLTI2LDExICsyNiwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCIKIAotI2luY2x1ZGUgIkNlcnRp
ZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3
b3JrUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
ICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50
VGltZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmgKaW5kZXggODViNTZmOC4uNmE5M2Q4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0zNSwxMCArMzUsMTIgQEAKICNpbmNsdWRlICJO
ZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
IAotbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZp
Y2F0ZUluZm87Cit9CiAKK25hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25N
YW5hZ2VyOwotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M7CiBjbGFzcyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ7CiBzdHJ1Y3QgTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CkBAIC0xMDQsNyArMTA2LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2
NF90IGRvd25sb2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAg
dm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNh
dGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBjb25z
dCBTdHJpbmcmIGhvc3QpOwogICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVp
bnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWlu
dDMyX3QgY2FjaGVzVG9DbGVhcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZjk2NGE3Zi4uMzJi
Y2UwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTM5LDcgKzM5LDcgQEAgbWVzc2FnZXMgLT4gTmV0
d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVu
YWJsZWQoYm9vbCBmbGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZUZvckhvc3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3Ry
aW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICAgICAK
ICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IDQzMmVjNzYuLjJmOGE0OWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNs
aWVudC5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNl
cnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Jsb2JSZWdpc3RyeS5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmlu
ZGV4IDA5NjQ2YzguLjk2MWE0MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTI4LDEzICsyOCwxMyBAQAog
CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9y
dCAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hlc1RvQ2xl
YXIuaCIKICNpbXBvcnQgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbXBvcnQgIlNhbmRib3hJbml0
aWFsaXphdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgorI2lt
cG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5
c3RlbS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxX
ZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggNmQz
ZTcxMi4uZTcyNjg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21h
a2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQ5LDcgKzQ5LDYg
QEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBG
aWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2Nh
bGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAg
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vz
cy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4
IDFiMWM1NTQuLjRkODE3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2
MSw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNj
b21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9T
eXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAog
ICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVBy
b2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KaW5kZXggMzJlYzBm
NC4uMzJmYTIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
bWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJX
S0FQSUNhc3QuaCIKICNpbXBvcnQgIldlYkNlcnRpZmljYXRlSW5mby5oIgogCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLQ2VydGlmaWNhdGVJ
bmZvUmVmIFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbihDRkFycmF5
UmVmIGNlcnRpZmljYXRlQ2hhaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGY2NWU5
Zi4uNDk3NTk4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzQsMTMgKzM0LDEzIEBA
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNs
YXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwotICAgIGNsYXNzIENyZWRlbnRpYWw7CitjbGFz
cyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK2NsYXNz
IENyZWRlbnRpYWw7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBDZXJ0aWZpY2F0
ZUluZm87CiBjbGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9hZDsKIGNsYXNzIFdlYkZy
YW1lOwpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZvciBkb3dubG9h
ZHMgd2l0aCBvciB3aXRob3V0IHRoZSBOZXR3b3JrUHJvY2VzcwogICAgIHZvaWQgZGlkUmVjZWl2
ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvd25sb2FkKiwgY29uc3QgV2ViQ29yZTo6QXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UmKTsKIAotICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5n
ZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0
IENlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVu
dGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxD
aGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBw
cml2YXRlOgogICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImKSBPVkVSUklERTsKIAotICAgIGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9y
Q2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3Qg
Q2VydGlmaWNhdGVJbmZvJik7CisgICAgYm9vbCB0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFs
bGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKIAogICAgIHVpbnQ2NF90IGVzdGFibGlzaElkZW50aWZp
ZXJGb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggZGExM2Yz
NC4uMzRkYjliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
CkBAIC0yMSw3ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IEF1dGhlbnRp
Y2F0aW9uTWFuYWdlciB7Ci0gICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2
NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYktpdDo6
Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JD
aGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVu
dGlhbCwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENv
bnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQp
OwogICAgIHZvaWQgQ2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVu
dGljYXRpb25NYW5hZ2VyLm1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBhODYxOGNkLi44YjZk
NzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFj
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCw5
ICsyOCw5IEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiQ2Vy
dGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjSWRlbnRpdHkuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9DZXJ0aWZpY2F0ZUluZm8uaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKaW5kZXggYmFmOTc1Yi4uMzdkMjM0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAgLTUwNCw3
ICs1MDQsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAg
ICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpDZXJ0aWZpY2F0ZUluZm86IHsKLSAgICAgICAgICAg
IENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisgICAgICAgICAgICBXZWJDb3JlOjpD
ZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgICAgIGNvZGVyLm1fcm9vdCA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKGNl
cnRpZmljYXRlSW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2Vy
dGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZv
LmgKaW5kZXggZTkwMWQzMC4uZmVjYjk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
ZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjcsMjcgKzI3LDI3IEBACiAjZGVmaW5lIFdlYkNlcnRpZmlj
YXRlSW5mb19oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0
ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0
aWZpY2F0ZUluZm8gOiBwdWJsaWMgQVBJOjpUeXBlZE9iamVjdDxBUEk6Ok9iamVjdDo6VHlwZTo6
Q2VydGlmaWNhdGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2Vy
dGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgV2ViQ2VydGlmaWNhdGVJbmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBjb25zdCBDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJ
bmZvOyB9CisgICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUlu
Zm8oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAg
IGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGluZm8p
CisgICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYgaW5mbykKICAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsK
ICAgICB9CiAKLSAgICBDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87CisgICAgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvIG1fY2VydGlmaWNhdGVJbmZvOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwCmluZGV4IGJjODMxZmMuLjgzNjBmN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
bmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0Nvb2tpZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3JlZGVudGlhbC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Vyc29yLmg+CkBAIC04NSw2ICs4NiwyMiBAQCBib29sIEFy
Z3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBUcmFucwogICAgIHJldHVybiBTaW1wbGVBcmd1bWVudENvZGVyPFRyYW5zZm9y
bWF0aW9uTWF0cml4Pjo6ZGVjb2RlKGRlY29kZXIsIHRyYW5zZm9ybWF0aW9uTWF0cml4KTsKIH0K
IAordm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVu
Y29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQor
eworICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pOworfQor
Citib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAg
Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURh
dGEoZGVjb2RlciwgY2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBj
ZXJ0aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0ZTsKKworICAgIHJldHVybiB0cnVlOworfQogCiB2
b2lkIEFyZ3VtZW50Q29kZXI8RmxvYXRQb2ludD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IEZsb2F0UG9pbnQmIGZsb2F0UG9pbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNjg4ODEzOS4uMjg5ZTdkNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAt
MzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNmb3Jt
OwogY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87
CiBjbGFzcyBDb2xvcjsKIGNsYXNzIENyZWRlbnRpYWw7CiBjbGFzcyBDdXJzb3I7CkBAIC05Myw2
ICs5NCwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5z
Zm9ybWF0aW9uTWF0cml4PiB7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2Rl
ciYsIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4Jik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbz4geworICAgIHN0YXRp
YyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlUGxhdGZvcm1EYXRh
KEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworICAg
IHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImLCBXZWJDb3Jl
OjpDZXJ0aWZpY2F0ZUluZm8mKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6RmxvYXRQb2ludD4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVu
dEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CiAgICAgc3RhdGljIGJvb2wg
ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1t
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0K
aW5kZXggY2U5YzA2ZC4uZTZlOTIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDE0ICsyOSwxMyBAQAogCiAj
aW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCiAjaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCi0j
aW1wb3J0ICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFj
ZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNv
cmUvS2V5Ym9hcmRFdmVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApA
QCAtMTM0LDYgKzEzNCwzNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46
OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogICAgIHJldHVybiB0
cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxh
dGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQ2VydGlmaWNhdGVJbmZv
JiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0g
Y2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKKyAgICBpZiAoIWNlcnRpZmljYXRl
Q2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2Rlciwg
Y2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUlu
Zm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hh
aW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNo
YWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGNlcnRpZmljYXRlQ2hhaW4p
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlm
aWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKKworICAgIHJldHVybiB0cnVlOwor
fQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewog
ICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJz
OnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxl
bmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL0NlcnRpZmljYXRlSW5mby5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDll
OTI1MTguLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNh
dGVJbmZvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExNiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rl
ci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLQotdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1DZXJ0aWZpY2F0
ZUluZm86OkNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlm
aWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotICAgIDogbV9jZXJ0
aWZpY2F0ZShyZXNwb25zZS5zb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vy
cm9ycyhyZXNwb25zZS5zb3VwTWVzc2FnZVRMU0Vycm9ycygpKQotewotfQotCi1DZXJ0aWZpY2F0
ZUluZm86OkNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9y
KQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlKCkpCi0gICAg
LCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4ocmVzb3VyY2VF
cnJvci50bHNFcnJvcnMoKSkpCi17Ci19Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJ
bmZvKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUsIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRs
c0Vycm9ycykKLSAgICA6IG1fY2VydGlmaWNhdGUoY2VydGlmaWNhdGUpCi0gICAgLCBtX3Rsc0Vy
cm9ycyh0bHNFcnJvcnMpCi17Ci19Ci0KLUNlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5m
bygpCi17Ci19Ci0KLXZvaWQgQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1l
bnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewot
ICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
R0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpF
Q1QobV9jZXJ0aWZpY2F0ZS5nZXQoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEs
IE5VTEwpOwotICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwg
ZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0g
ICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0
ZURhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQ
Qzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwot
ICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQot
Ym9vbCBDZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFz
Q2VydGlmaWNhdGU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAg
IHJldHVybiB0cnVlOwotCi0gICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURh
dGFSZWZlcmVuY2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFy
cmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXco
Y2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0g
Z19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVy
ZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQ
dHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsK
LQotICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgp
OwotICAgIGNlcnRpZmljYXRlSW5mby5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NF
UlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KAotICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0
aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5n
ZXQoKSwgbnVsbHB0cikpKTsKLQotICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0
aWZpY2F0ZUluZm8ubV90bHNFcnJvcnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFn
cz4odGxzRXJyb3JzKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRl
SW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViNTU4YWEuLjAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBD
ZXJ0aWZpY2F0ZUluZm9faAotI2RlZmluZSBDZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8
bGlic291cC9zb3VwLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgotCi1uYW1l
c3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERlY29kZXI7Ci1jbGFzcyBBcmd1bWVudEVu
Y29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFJlc291cmNlRXJyb3I7Ci1j
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3Mg
Q2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBl
eHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYp
OwotICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yJik7Ci0gICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSosIEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzKTsKLSAgICB+Q2VydGlmaWNhdGVJbmZvKCk7Ci0KLSAgICBHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5n
ZXQoKTsgfQotICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0
dXJuIG1fdGxzRXJyb3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVu
Y29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyJiwgQ2VydGlmaWNhdGVJbmZvJik7Ci0KLXByaXZhdGU6Ci0gICAgR1JlZlB0cjxHVGxz
Q2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90
bHNFcnJvcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIENlcnRp
ZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dl
YkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IDU0Yzk1ZjUuLjA3Y2QxMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1Nv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMp
IDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiArMjYsMTYg
QEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5o
IgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAiQ2VydGlm
aWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
UmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTY3LDYgKzY4
LDU1IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZv
cm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3Zv
aWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJn
dW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRl
SW5mbykKK3sKKyAgICBpZiAoIWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSB7CisgICAg
ICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHQnl0
ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChj
ZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0
ZURhdGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVuY29k
ZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRy
dWU7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0
aWZpY2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXko
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxl
bikpOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNlcnRpZmljYXRlSW5m
by50bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+
OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0
ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURh
dGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBj
ZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBl
bmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0
aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNl
cnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdUbHNC
YWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdSZWZQ
dHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJ
Q0FURShnX2luaXRhYmxlX25ldygKKyAgICAgICAgZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNh
dGVfdHlwZShiYWNrZW5kKSwgMCwgMCwgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5n
ZXQoKSwgbnVsbHB0cikpKTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2Vy
dGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxzRXJyb3JzOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNlcnRp
ZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+
KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJndW1lbnRDb2Rl
cjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5j
b2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggYjU4
ODA0MC4uMmE4MTcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJJbWFnZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXZWJDZXJ0aWZpY2F0
ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKQEAgLTYwLDYgKzU5LDcg
QEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdp
bmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2Fz
dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0ay5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvR093blB0clNvdXAuaD4KQEAgLTMwMjgsNyArMzAyOCw3IEBAIGdib29sZWFu
IHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8oV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1Rs
c0NlcnRpZmljYXRlKioKICAgICBpZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIEZBTFNF
OwogCi0gICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJh
bWUtPmNlcnRpZmljYXRlSW5mbygpLT5jZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBjb25zdCBXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlm
aWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAg
ICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAg
aWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNw
cAppbmRleCA4ZDIwYzc2Li5kNTU3M2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHkuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25D
aGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFsKQog
ICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdl
cjo6Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlEKSwg
MCk7CiAgICAgZWxzZSB7CiAgICAgICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJ
bmZvID0gY3JlZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgICAgIENlcnRpZmljYXRl
SW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNl
cnRpZmljYXRlSW5mbygpIDogQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0
ZUluZm8tPmNlcnRpZmljYXRlSW5mbygpIDogV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKCk7CiAg
ICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2Vy
OjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNv
cmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggNjczZTdlYy4uMmVmM2M1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcApAQCAtMTMxLDcgKzEzMSw3IEBAIHZv
aWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV9mcmFtZUxv
YWRTdGF0ZS5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7CiB9CiAKLXZvaWQgV2ViRnJhbWVQcm94
eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0
TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBtX2ZyYW1lTG9hZFN0YXRlLmRpZENvbW1p
dExvYWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKaW5kZXgg
N2I4NWZmMi4uN2FlOTkxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkZyYW1lUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94
eS5oCkBAIC00MCw5ICs0MCwxMSBAQCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29u
bmVjdGlvbjsKIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci0KK25hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIENlcnRpZmljYXRlSW5mbzsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBX
ZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7
CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC05OSw3ICsxMDEsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVy
bCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpOwot
ICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBD
ZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBj
b250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBk
aWRGaW5pc2hMb2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2Ft
ZURvY3VtZW50TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0
aW9uLCBzZXNzaW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggZGVmYTFlNS4uMWVmNWNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIyMTIsNyArMjIxMiw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjbGVhckxvYWREZXBlbmRlbnRDYWxsYmFja3MoKQogICAgIH0KIH0KIAotdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBjb25zdCBD
ZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
IGRlY29kZXIpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IG9wYXF1ZUZyYW1l
TG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBSZWZQdHI8QVBJOjpP
YmplY3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVzc2Fn
ZURlY29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggM2VkYzhhOC4uZjZkZjQyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzcyLDcgKzc3Miw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMLCBDb3JlSVBD
OjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9y
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
JiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBm
cmFtZUxvYWRUeXBlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVj
b2RlciYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAg
dm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRG
YWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYWNhZjcxYS4uNmQxY2Ew
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCkBAIC0xMTEsNyArMTExLDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAg
ICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2Fk
IG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdU
Rjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpDZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9y
LCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJp
YWRpYwogICAgIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2Vy
TWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzA1YTZkOC4uYzY3NWEwMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTEzMCw4ICsxMTMwLDYgQEAKIAkJQkNGMTg2MzgxNjdEMDcxRTAwQTFBODVBIC8qIENh
Y2hlTW9kZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICovOyB9OwogCQlC
Q0Y0REUyMzE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyMjE2OEU0
QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi87IH07CiAJCUJDRjRE
RTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNERFMjQxNjhGQTQ0ODAwQzk0
QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi87IH07Ci0JCUJDRjUwNUU3MTI0MzA0N0Iw
MDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0
ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRl
SW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
RjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi87IH07CiAJCUJD
RjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNzI2MTI0MzI5QUEwMDU5
NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKIAkJQkNGNjlGODYxMTc2Q0Q2RjAw
NDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3Rv
cnlDbGllbnQuY3BwICovOyB9OwogCQlCQ0Y2OUY4NzExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlz
dG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGNjlGODUxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCAqLzsgfTsK
QEAgLTI2OTUsOCArMjY5Myw2IEBACiAJCUJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNo
ZU1vZGVsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlTW9k
ZWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyMjE2OEU0QkQ1MDBD
OTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBwYXRoID0gTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnRleHRTdXBwbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0
aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2VydGlmaWNh
dGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU2MTI0MzA0N0Iw
MDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+
IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00
NjQxLDggKzQ2MzcsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJv
YXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdElt
cG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0
cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZv
LmggKi8sCi0JCQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5t
bSAqLywKIAkJCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICov
LAogCQkJCTJENDdCNTZBMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZS5tbSAqLywKIAkJCQkyRDQ3QjU2QjE4MTA3MTRFMDAzQTNBRUUgLyogUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUuaCAqLywKQEAgLTU2MzIsNyArNTYyNiw2IEBACiAJCQkJQzU3NEE1ODExMkU2NjY4
MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE5NTgy
RDMxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxRkNCMTg5MTdCQkZFMDMwMDM5NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGll
bnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0
aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTAwRDRGMTgyRDZGNTAwMDA4N0RE
NyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0M0M0FCQjEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzg3ODBGQzExNjFDMkI4MDBDQzI3NjggLyogUGxhdGZvcm1Qcm9j
ZXNzSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCkBAIC02OTQ1LDcgKzY5MzgsNiBAQAogCQkJ
CTJEMkFERjEwMTYzNjREODIwMDE5N0U0NyAvKiBQREZQbHVnaW5DaG9pY2VBbm5vdGF0aW9uLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0MjlCRkQxNzIxRTJDNzAwRUM2ODFGIC8qIFBERlBsdWdp
blBhc3N3b3JkRmllbGQubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDJBREYwOTE2MzYyREQ1MDAx
OTdFNDcgLyogUERGUGx1Z2luVGV4dEFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQlC
Q0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0
YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTZGQjdEMjExRTY1MUUyMDBEQjEzNzEgLyogUGx1
Z2luLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQ
bHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmlu
ZGV4IGE1Yjg0NDljLi5jN2ZiNGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTI4LDcgKzI4LDYgQEAK
IAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
I2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgpAQCAtMzYsNiArMzUsNyBAQAog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRl
SW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9y
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oCmluZGV4IGZkMmVmYTIuLmY3NDUyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCkBAIC00MCw2
ICs0MCw3IEBAIGNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
K2NsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKIGNsYXNzIFJl
c291cmNlQnVmZmVyOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsKQEAgLTUwLDcgKzUxLDYgQEAgY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIENlcnRp
ZmljYXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAog
Y2xhc3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxv
YWRlcj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVz
cG9uc2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRf
dCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ2Vy
dGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2Fn
ZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAgICB2
b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBpbnQ2NF90
IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNlTG9hZChkb3Vi
bGUgZmluaXNoVGltZSk7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgppbmRleCA5
OGE4NzhmLi40YTYyMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCkBAIC0yOSw3
ICsyOSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBXZSdsbCBuZWVkIG11Y2ggbW9yZSBncmFu
dWxhcml0eSBmb3IgcmVzcG9uc2UgbWVzc2FnZXMuCiAgICAgV2lsbFNlbmRSZXF1ZXN0KFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJl
ZGlyZWN0UmVzcG9uc2UpCiAgICAgRGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50
NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpCi0gICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJLaXQ6OkNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRl
SW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVz
cG9uc2VNZXNzYWdlKQogICAgIERpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2Ug
ZGF0YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxv
YWQoZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRl
eCA1OWZmOGQ4Li5lMTRiOWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApA
QCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIldlYkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAKICNp
bmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGUuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKQEAg
LTUxLDYgKzUwLDcgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU09iamVjdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RPTVdyYXBwZXJXb3Js
ZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggZTgwOTk5Zi4uYTU1YWMxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTUxLDYgKzUxLDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owogc3RydWN0
IFBsdWdpbkluZm87CisjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQor
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpA
QCAtNzIsMTAgKzc1LDYgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAj
aWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIGNsYXNzIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bjsKIGNsYXNzIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjsKLSNlbHNlCi0jaWYgVVNFKFNPVVAp
Ci1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87Ci0jZW5kaWYKICNlbmRpZgogCiAjaWYgRU5BQkxFKERB
VEFCQVNFX1BST0NFU1MpCkBAIC0xNzQsNyArMTczLDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBk
YXRlQWN0aXZlUGFnZXMoKTsKIAogI2lmICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0Uo
U09VUCkKLSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25z
dCBDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBkMmM0
YWMwLi45MDdiNzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCkBAIC04Nyw2ICs4Nyw2IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3Mg
TGVnYWN5UmVjZWl2ZXIgewogI2VuZGlmCiAKICNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykg
JiYgVVNFKFNPVVApCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdl
YktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAg
IEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCiAjZW5kaWYKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCmluZGV4IGMw
YzIwNmMuLjY5MWRiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291
cC9XZWJQcm9jZXNzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3Vw
L1dlYlByb2Nlc3NTb3VwLmNwcApAQCAtMjEwLDcgKzIxMCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6
c2V0SWdub3JlVExTRXJyb3JzKGJvb2wgaWdub3JlVExTRXJyb3JzKQogfQogCiAjaWYgIUVOQUJM
RShORVRXT1JLX1BST0NFU1MpCi12b2lkIFdlYlByb2Nlc3M6OmFsbG93U3BlY2lmaWNIVFRQU0Nl
cnRpZmljYXRlRm9ySG9zdChjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywg
Y29uc3QgU3RyaW5nJiBob3N0KQordm9pZCBXZWJQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFND
ZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZp
Y2F0ZUluZm8sIGNvbnN0IFN0cmluZyYgaG9zdCkKIHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6c2V0Q2xpZW50Q2VydGlmaWNhdGUoaG9zdCwgY2VydGlmaWNhdGVJbmZvLmNlcnRpZmlj
YXRlKCkpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217580</attachid>
            <date>2013-11-21 10:12:11 -0800</date>
            <delta_ts>2013-11-25 06:08:11 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>56518</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YmUwMWZiLi41NjIzNTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTMtMTEtMjEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmlj
YXRlSW5mby5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlm
aWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OmNlcnRpZmlj
YXRlQ2hhaW4pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5m
b01hYy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNh
dGVJbmZvLm1tLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0
ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpkdW1wKToKKwogMjAx
My0xMS0yMSAgTWloYWkgTWFlcmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNvbT4KIAogICAgICAgICBG
aXggaG92ZXIgYXJlYSBmb3IgZGl2cyB3aXRoIGNzcyB0cmFuc2Zvcm1zCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQppbmRleCA3MWRkZDY2Li5iYzI5YmU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTU0NzMsNiArNTQ3Myw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBs
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5k
bGUuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRl
SW5mby5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JTdG9yYWdlRGF0
YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Nvb2tpZVN0b3JhZ2UuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwIFwK
QEAgLTU1MDgsNiArNTUwOSw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKaW5kZXggMTJkOGUwYi4uMTE0MjRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UK
QEAgLTE1Myw2ICsxNTMsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRm
b3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxh
dGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29v
a2llU3RvcmFnZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxT
dG9yYWdlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMTk3ZTFkNi4uMmE0
YjUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTE4OCw2ICsxODgsNyBAQCBsaXN0
KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3JrL2d0ay9DcmVkZW50
aWFsQmFja2luZ1N0b3JlLmNwcAogCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlU291cC5jcHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlm
aWNhdGVJbmZvLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNw
cAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdlU291cC5jcHAKICAgICBw
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgppbmRleCAwZWFhMGU2Li44OGMwMGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAt
NjcsNiArNjcsOSBAQCBfX1pOM1dURjEwU3RyaW5nSW1wbGN2UDhOU1N0cmluZ0V2CiBfX1pOM1dU
RjEyQXRvbWljU3RyaW5nM2FkZEVQSzEwX19DRlN0cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUDhO
U1N0cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUEsxMF9fQ0ZTdHJpbmcKK19fWk43V2ViQ29yZTE1
Q2VydGlmaWNhdGVJbmZvQzFFUktOU18xNlJlc291cmNlUmVzcG9uc2VFCitfX1pON1dlYkNvcmUx
NUNlcnRpZmljYXRlSW5mb0MxRVBLOV9fQ0ZBcnJheQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0
ZUluZm9DMUV2CiBfX1pON1dlYkNvcmUxMENsaWVudFJlY3RDMUVSS05TXzdJbnRSZWN0RQogX19a
TjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlMTBD
bGllbnRSZWN0QzFFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGQ1NWI3YzIuLmE4NjMzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5NDEsNyArMTk0MSwx
MCBAQAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlOYW1lcy5oIGlu
IENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMuaCAqLzsgfTsK
IAkJNURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQTBEMTVGNjQy
MDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURGRThGNTcwRDE2NDc3
QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxl
ZEFjdGlvbi5oICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogQ2VydGlmaWNh
dGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLzsg
fTsKKwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2
OTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNCAvKiBKU0V2
ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovOyB9OworCQk1
RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZFMUQyOTExNzhGRDFGMzAw
MUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAw
MUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5jcHAgKi87IH07CiAJCTYyNkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0
aWFsTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMx
MjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyog
TmV0d29ya2luZ0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtODY2OSw3ICs4NjcyLDEwIEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBF
MzY3NiAvKiBTeXN0ZW1WZXJzaW9uTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU3lzdGVtVmVyc2lvbk1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9y
bVNvdXJjZUxpYnhzbHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm9NYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAv
KiBDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2Vy
dGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2Q0ZF
MjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29y
azsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4uLy4uLy4uL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5hdmln
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0MjRD
MDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzUxOSw2ICsxMzUyNSw3IEBACiAJCQlpc2EgPSBQQlhG
cmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJ
CQlmaWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8q
IEFjY2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMwODI0
NUU1OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzODY1LDYgKzEzODcyLDcgQEAKIAkJMDg2N0Q2
OTFGRTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5
LmZyYW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmgg
Ki8sCiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywK
IAkJCQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywK
QEAgLTE1NDIyLDYgKzE1NDMwLDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENF
OTIzNEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENF
OTIzNEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFODE3
OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCisJCQkJNUYyREJCRTcxNzhF
MzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLywKIAkJCQlFMTQyNEM4RjE2
NEI0NjBCMDBGMzJENDAgLyogQ29va2llSmFyTWFjLm1tICovLAogCQkJCUUxM0YwMUYwMTI3MEUx
OTAwMERGQkE3MSAvKiBDb29raWVTdG9yYWdlTWFjLm1tICovLAogCQkJCUUxQjRDRDI0MTBCMzIy
RTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLywKQEAgLTI0MTIxLDYgKzI0
MTMxLDcgQEAKIAkJCQkwRjEzMTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1DQUZpbHRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0
Zm9ybUNBTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4
MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTVGQTkwNENB
MTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA3QzU5QjU0MTdGNEFDMTUwMDBGQkNCQiAvKiBBdWRpb1N0cmVhbVRyYWNrLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9y
bUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4Mjk4LDYgKzI4MzA5LDcgQEAKIAkJCQk5NzdF
MkUwRTEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxNzJBRjhGMTgxMUJDMzcwMEZCQURCOSAvKiBKU0RPTVByb21pc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZp
Y2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2
QTggLyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEw
MEQ4MzZBOCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3
NjY4QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKc2ltaWxhcml0
eSBpbmRleCA4NyUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZp
Y2F0ZUluZm8uaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
Q2VydGlmaWNhdGVJbmZvLmgKaW5kZXggNGRkYzc1MS4uYzhiM2NkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjksMjQgKzI5
LDE3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERl
Y29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewor
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDZXJ0aWZpY2F0ZUluZm8gewogcHVibGljOgog
ICAgIENlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUlu
Zm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKTsKIAorICAgIHZvaWQgc2V0Q2VydGlmaWNh
dGVDaGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pIHsgbV9jZXJ0aWZpY2F0ZUNoYWlu
ID0gY2VydGlmaWNhdGVDaGFpbjsgfQogICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigp
IGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQogCi0gICAgdm9pZCBl
bmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wg
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIENlcnRpZmljYXRlSW5mbyYpOwotCiAj
aWZuZGVmIE5ERUJVRwogICAgIHZvaWQgZHVtcCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQpzaW1pbGFy
aXR5IGluZGV4IDc1JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRp
ZmljYXRlSW5mby5tbQpyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4IDI2MGVhYjYuLjIwM2M5Y2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQpA
QCAtMjYsMTMgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQ2VydGlmaWNh
dGVJbmZvLmgiCiAKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkFyZ3Vt
ZW50RGVjb2Rlci5oIgotI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVyLmgiCi0KLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsK
IAogQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQogewpAQCAtNDgsMzIgKzQyLDYg
QEAgQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0
ZUNoYWluKQogewogfQogCi12b2lkIENlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVD
aGFpbikgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBt
X2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOwotfQotCi1ib29sIENlcnRpZmljYXRlSW5mbzo6ZGVj
b2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBj
KQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKLSAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBp
ZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYg
KCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgYy5tX2NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogI2lmbmRlZiBOREVCVUcK
IHZvaWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKIHsKQEAgLTg4LDQgKzU2LDQgQEAg
dm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAogfQogI2VuZGlmCiAKLX0gLy8gbmFt
ZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCnNpbWlsYXJpdHkgaW5k
ZXggNTIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRl
SW5mby5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9D
ZXJ0aWZpY2F0ZUluZm8uY3BwCmluZGV4IDllOTI1MTguLmQ1ZmFlNGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKQEAgLTI2
LDE2ICsyNiwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNlcnRpZmljYXRl
SW5mby5oIgogCi0jaW5jbHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1l
bnRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgorI2luY2x1ZGUgPFJlc291cmNlRXJyb3IuaD4KKyNpbmNsdWRlIDxSZXNvdXJjZVJlc3BvbnNl
Lmg+CiAjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ2VydGlmaWNh
dGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQogICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8
R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQpAQCAtNjQsNTMgKzU5LDQgQEAgQ2VydGlmaWNhdGVJ
bmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKIHsKIH0KIAotdm9pZCBDZXJ0aWZpY2F0ZUluZm86OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYg
KCFtX2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwotICAg
IGdfb2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmljYXRl
IiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsK
LSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0g
YWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxl
bmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBj
ZXJ0aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
bV90bHNFcnJvcnMpOwotfQotCi1ib29sIENlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUlu
Zm8pCi17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc0NlcnRpZmljYXRlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXND
ZXJ0aWZpY2F0ZSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDb3JlSVBDOjpEYXRhUmVm
ZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
VmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19i
eXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAg
ICBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwg
Y2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNl
LnNpemUoKSk7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1Jl
ZihjZXJ0aWZpY2F0ZURhdGEpOwotCi0gICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19i
YWNrZW5kX2dldF9kZWZhdWx0KCk7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fY2VydGlmaWNhdGUg
PSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoCi0gICAgICAgIGdf
dGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsICJjZXJ0aWZp
Y2F0ZSIsIGNlcnRpZmljYXRlLmdldCgpLCBudWxscHRyKSkpOwotCi0gICAgdWludDMyX3QgdGxz
RXJyb3JzOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGNlcnRpZmljYXRlSW5mby5tX3Rsc0Vycm9ycyA9IHN0YXRpY19jYXN0
PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKc2ltaWxh
cml0eSBpbmRleCA5MCUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2Vy
dGlmaWNhdGVJbmZvLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9DZXJ0aWZpY2F0ZUluZm8uaAppbmRleCBlYjU1OGFhLi45NGU0ZmY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTMw
LDE3ICszMCwxMCBAQAogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgogI2luY2x1ZGUgPHd0Zi9n
b2JqZWN0L0dSZWZQdHIuaD4KIAotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1lbnRE
ZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CisKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotfQotCi1u
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKIHB1YmxpYzoKQEAg
LTUxLDE2ICs0NCwxNSBAQCBwdWJsaWM6CiAgICAgfkNlcnRpZmljYXRlSW5mbygpOwogCiAgICAg
R1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNh
dGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2Vy
dGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CiAgICAgR1Rsc0NlcnRp
ZmljYXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLQot
ICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0
YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBDZXJ0aWZpY2F0ZUlu
Zm8mKTsKKyAgICB2b2lkIHNldFRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJv
cnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KIAogcHJpdmF0ZToKICAgICBHUmVmUHRy
PEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKICAgICBHVGxzQ2VydGlmaWNhdGVGbGFn
cyBtX3Rsc0Vycm9yczsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBm
Mzg5ZjFlLi43YWZmZTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjMgQEAKIDIwMTMtMTEtMjEg
IENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAorICAgICAgICBNb3ZlIENl
cnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHA6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9O
ZXR3b3JrUHJvY2Vzc01hYy5tbToKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAg
ICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLQ2Vy
dGlmaWNhdGVJbmZvTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50
aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbToKKyAgICAgICAgKiBTaGFy
ZWQvVXNlck1lc3NhZ2VDb2RlcnMuaDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lc3NhZ2VEZWNv
ZGVyOjpiYXNlRGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmg6
CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAo
V2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OldlYkNlcnRpZmljYXRlSW5mbyk6CisgICAgICAg
ICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6
OmVuY29kZSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzTWFjLm1tOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURh
dGEpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAq
IFNoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHA6IFJlbW92ZWQuCisgICAgICAgICogU2hh
cmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmg6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVu
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0
YSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAg
ICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJhbWUpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9z
b3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6YWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KToKKworMjAxMy0xMS0yMSAgQ3NhYmEg
T3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgorCiAgICAgICAgIFJlbmFtZSBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyB0byBDZXJ0aWZpY2F0ZUluZm8KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDE1MAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCA5ZDE1ODVlLi5lMTJmZjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxp
c3QuYW0KQEAgLTQ4MSw4ICs0ODEsNiBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0
YXRpc3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRh
LmggXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAot
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKQEAgLTEzNjUs
OCArMTM2Myw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgXAotCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1No
YXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291
cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJD
bGllbnQuY3BwCmluZGV4IDg2NWI0YzAuLmU1MDllZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2Fk
ZXJDbGllbnQuY3BwCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmgiCiAKLSNpbmNsdWRlICJD
ZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAi
TmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9y
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCmluZGV4IDg1YjU2ZjguLjZhOTNkODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMzUsMTAgKzM1LDEyIEBACiAjaW5jbHVk
ZSAiTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAKLW5hbWVzcGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQ2Vy
dGlmaWNhdGVJbmZvOworfQogCituYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEF1dGhlbnRpY2F0
aW9uTWFuYWdlcjsKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIE5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Owogc3RydWN0
IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtMTA0LDcgKzEwNiw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZFJlcXVlc3QodWludDY0X3QgZG93bmxvYWRJRCwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1
aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lkIHNldENhY2hlTW9kZWwodWludDMyX3QpOwot
ICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRp
ZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmlj
SFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwg
Y29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGlj
cyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5z
KHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGY5NjRhN2Yu
LjMyYmNlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0zOSw3ICszOSw3IEBAIG1lc3NhZ2VzIC0+
IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Np
b25FbmFibGVkKGJvb2wgZmxhZykKICNlbmRpZgogCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2Vy
dGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6
OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCiAg
ICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQp
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA0MzJlYzc2Li4yZjhhNDlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkFzeW5jaHJvbm91c05ldHdvcmtMb2Fk
ZXJDbGllbnQuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKLSNpbmNsdWRl
ICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtCbG9iUmVnaXN0cnkuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5t
bSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5t
bQppbmRleCAwOTY0NmM4Li45NjFhNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCkBAIC0yOCwxMyArMjgsMTMg
QEAKIAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAKLSNpbXBvcnQgIkNlcnRpZmljYXRl
SW5mby5oIgogI2ltcG9ydCAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNp
bXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgogI2ltcG9ydCAiUmVzb3VyY2VDYWNoZXNU
b0NsZWFyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0ICJTYW5kYm94
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIK
KyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zp
bGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9y
dCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4
IDZkM2U3MTIuLmU3MjY4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZs
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC00OSw3ICs0
OSw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNj
b21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9T
eXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAog
ICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVBy
b2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQpp
bmRleCAxYjFjNTU0Li40ZDgxNzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtNjEs
NyArNjEsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgv
U2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRl
cnMvU3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5j
cHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAg
VUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4IDMy
ZWMwZjQuLjMyZmEyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9t
YWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9y
dCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKIAordXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmlj
YXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZB
cnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCmluZGV4IDRm
NjVlOWYuLjQ5NzU5ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKQEAgLTM0LDEzICszNCwx
MyBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAg
ICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKLSAgICBjbGFzcyBDcmVkZW50aWFsOwor
Y2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87Citj
bGFzcyBDcmVkZW50aWFsOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgQ2VydGlm
aWNhdGVJbmZvOwogY2xhc3MgQ2hpbGRQcm9jZXNzOwogY2xhc3MgRG93bmxvYWQ7CiBjbGFzcyBX
ZWJGcmFtZTsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmb3IgZG93
bmxvYWRzIHdpdGggb3Igd2l0aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MKICAgICB2b2lkIGRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3dubG9hZCosIGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKLSAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFs
bGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBj
b25zdCBDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVu
Z2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25z
dCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVlV2l0aG91dENy
ZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgY2Fu
Y2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5LDcgKzY5LDcg
QEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVzZUNlcnRpZmljYXRlSW5m
b0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNv
bnN0IENlcnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9y
Q2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3Qg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAKICAgICB1aW50NjRfdCBlc3RhYmxpc2hJZGVu
dGlmaWVyRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGRh
MTNmMzQuLjM0ZGI5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdl
cy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBBdXRo
ZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJL
aXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFs
Rm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNy
ZWRlbnRpYWwsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9p
ZCBDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5n
ZUlEKTsKICAgICB2b2lkIENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVu
dGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggYTg2MThjZC4u
OGI2ZDcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAt
MjgsOSArMjgsOSBAQAogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykKIAotI2luY2x1ZGUg
IkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPFNlY3VyaXR5L1NlY0lkZW50aXR5Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmluZGV4IGJhZjk3NWIuLjM3
ZDIzNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCkBAIC01
MDQsNyArNTA0LDcgQEAgcHVibGljOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAg
ICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6Q2VydGlmaWNhdGVJbmZvOiB7Ci0gICAgICAg
ICAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAgICAgICAgICAgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKICAgICAgICAgICAgIGlmICghZGVj
b2Rlci5kZWNvZGUoY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0
ZShjZXJ0aWZpY2F0ZUluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRl
SW5mby5oCmluZGV4IGU5MDFkMzAuLmZlY2I5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTI3LDI3ICsyNywyNyBAQAogI2RlZmluZSBXZWJDZXJ0
aWZpY2F0ZUluZm9faAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSAiQ2VydGlm
aWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2Vi
Q2VydGlmaWNhdGVJbmZvIDogcHVibGljIEFQSTo6VHlwZWRPYmplY3Q8QVBJOjpPYmplY3Q6OlR5
cGU6OkNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdl
YkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFdlYkNlcnRpZmljYXRlSW5mbyhpbmZvKSk7CiAgICAgfQogCi0gICAgY29uc3QgQ2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmlj
YXRlSW5mbzsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KIAogcHJpdmF0ZToK
LSAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBp
bmZvKQorICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgICAgIDogbV9jZXJ0aWZpY2F0ZUluZm8oaW5mbykKICAg
ICB7CiAgICAgfQogCi0gICAgQ2VydGlmaWNhdGVJbmZvIG1fY2VydGlmaWNhdGVJbmZvOworICAg
IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcAppbmRleCBiYzgzMWZjLi44MzYwZjdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjgsNiArMjgsNyBAQAog
CiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50
aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NyZWRlbnRp
YWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpAQCAtODUsNiArODYsMjIgQEAgYm9v
bCBBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0cml4Pjo6ZGVjb2RlKEFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlciwgVHJhbnMKICAgICByZXR1cm4gU2ltcGxlQXJndW1lbnRDb2RlcjxUcmFu
c2Zvcm1hdGlvbk1hdHJpeD46OmRlY29kZShkZWNvZGVyLCB0cmFuc2Zvcm1hdGlvbk1hdHJpeCk7
CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGUoQXJndW1l
bnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bykKK3sKKyAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgY2VydGlmaWNhdGVJbmZvKTsK
K30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29kZShBcmd1bWVu
dERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQorewor
ICAgIENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZTsKKworICAgIGlmICghZGVjb2RlUGxhdGZv
cm1EYXRhKGRlY29kZXIsIGNlcnRpZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgY2VydGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGU7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
IAogdm9pZCBBcmd1bWVudENvZGVyPEZsb2F0UG9pbnQ+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBGbG9hdFBvaW50JiBmbG9hdFBvaW50KQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDY4ODgxMzkuLjI4OWU3
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgK
QEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFmZmluZVRyYW5z
Zm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOworY2xhc3MgQ2VydGlmaWNhdGVJ
bmZvOwogY2xhc3MgQ29sb3I7CiBjbGFzcyBDcmVkZW50aWFsOwogY2xhc3MgQ3Vyc29yOwpAQCAt
OTMsNiArOTQsMTMgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpU
cmFuc2Zvcm1hdGlvbk1hdHJpeD4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERl
Y29kZXImLCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOwogfTsKIAordGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8+IHsKKyAgICBz
dGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3Jt
RGF0YShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsK
KyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiwgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OkZsb2F0UG9pbnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJn
dW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwogICAgIHN0YXRpYyBi
b29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFj
Lm1tCmluZGV4IGNlOWMwNmQuLmU2ZTkyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCkBAIC0xLDUgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCwxNCArMjksMTMgQEAK
IAogI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5o
IgotI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJXZWJLaXRTeXN0ZW1JbnRl
cmZhY2UuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7
CiAKQEAgLTEzNCw2ICsxMzQsMzYgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9u
c2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29k
ZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFp
biA9IGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCk7CisgICAgaWYgKCFjZXJ0aWZp
Y2F0ZUNoYWluKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29k
ZXIsIGNlcnRpZmljYXRlQ2hhaW4pOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNh
dGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0
ZUNoYWluOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFpbikKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gY2VydGlmaWNh
dGVDaGFpbjsKKyAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUNo
YWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY2VydGlmaWNhdGVJbmZvLnNldENl
cnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7CisKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogc3RhdGljIE5TU3RyaW5nKiBuc1N0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykK
IHsKICAgICByZXR1cm4gc3RyaW5nLmltcGwoKSA/IFtOU1N0cmluZyBzdHJpbmdXaXRoQ2hhcmFj
dGVyczpyZWludGVycHJldF9jYXN0PGNvbnN0IFVuaUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygp
KSBsZW5ndGg6c3RyaW5nLmxlbmd0aCgpXSA6IEAiIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5kZXggNTRj
OTVmNS4uMDdjZDEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIFBv
cnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBDb21wYW55IDEw
MCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgi
CiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRp
ZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3Jl
SVBDIHsKIApAQCAtNjcsNiArNjgsNTUgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVz
cG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVu
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmlj
YXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGlmICghY2VydGlmaWNhdGVJbmZvLmNl
cnRpZmljYXRlKCkpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7CisgICAgZ19v
YmplY3RfZ2V0KEdfT0JKRUNUKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSwgImNlcnRp
ZmljYXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZURh
dGEpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmlj
YXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7CisgICAgZW5jb2Rlci5lbmNvZGVWYXJp
YWJsZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5k
YXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50
MzJfdD4oY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpKTsKK30KKworYm9vbCBBcmd1bWVudENv
ZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wg
aGFzQ2VydGlmaWNhdGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCisgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0
ZURhdGFSZWZlcmVuY2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0
ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9u
ZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7CisgICAgY2VydGlmaWNhdGVEYXRh
ID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIEdS
ZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGVCeXRlcyA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0
ZURhdGEpOworCisgICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNrZW5kX2dldF9k
ZWZhdWx0KCk7CisgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IGNlcnRpZmljYXRlID0gYWRv
cHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KAorICAgICAgICBnX3Rsc19i
YWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLCAiY2VydGlmaWNhdGUi
LCBjZXJ0aWZpY2F0ZUJ5dGVzLmdldCgpLCBudWxscHRyKSkpOworICAgIGNlcnRpZmljYXRlSW5m
by5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZS5nZXQoKSk7CisKKyAgICB1aW50MzJfdCB0bHNF
cnJvcnM7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0bHNFcnJvcnMpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxH
VGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
IAogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEo
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVy
cm9yKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmNwcAppbmRleCBiNTg4MDQwLi4yYTgxNzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjEsNyArMjEsNiBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAotI2lu
Y2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgogI2lu
Y2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRl
bS5oIgpAQCAtNjAsNiArNTksNyBAQAogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgi
CiAjaW5jbHVkZSAiV2ViS2l0V2luZG93UHJvcGVydGllc1ByaXZhdGUuaCIKICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUlu
Zm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdJY29uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9H
T3duUHRyR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3duUHRyU291cC5oPgpAQCAtMzAyOCw3
ICszMDI4LDcgQEAgZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2dldF90bHNfaW5mbyhXZWJLaXRX
ZWJWaWV3KiB3ZWJWaWV3LCBHVGxzQ2VydGlmaWNhdGUqKgogICAgIGlmICghbWFpbkZyYW1lKQog
ICAgICAgICByZXR1cm4gRkFMU0U7CiAKLSAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5m
bygpOworICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
ID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZvKCk7CiAgICAg
aWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZUluZm8u
Y2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDhkMjBjNzYuLmQ1NTczZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAg
dm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50aWFsKFdlYkNyZWRl
bnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxl
bmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAgICAgICAgV2ViQ2VydGlmaWNh
dGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5jZXJ0aWZpY2F0ZUluZm8oKTsK
LSAgICAgICAgQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/
IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBDZXJ0aWZpY2F0ZUluZm8oKTsK
KyAgICAgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmlj
YXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpD
ZXJ0aWZpY2F0ZUluZm8oKTsKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpB
dXRoZW50aWNhdGlvbk1hbmFnZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVu
Z2VJRCwgY3JlZGVudGlhbC0+Y29yZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAppbmRleCA2NzNlN2VjLi4y
ZWYzYzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCkBA
IC0xMzEsNyArMTMxLDcgQEAgdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxM
b2FkKCkKICAgICBtX2ZyYW1lTG9hZFN0YXRlLmRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKIH0K
IAotdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVu
dFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQordm9pZCBXZWJG
cmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0
IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewogICAgIG1fZnJh
bWVMb2FkU3RhdGUuZGlkQ29tbWl0TG9hZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkZyYW1lUHJveHkuaAppbmRleCA3Yjg1ZmYyLi43YWU5OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTQwLDkgKzQwLDExIEBAIG5hbWVzcGFjZSBDb3Jl
SVBDIHsKICAgICBjbGFzcyBDb25uZWN0aW9uOwogfQogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQor
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworfQorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZvcm1TdWJt
aXNzaW9uTGlzdGVuZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTsK
QEAgLTk5LDcgKzEwMSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxM
b2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVj
dEZvclByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRGYWls
UHJvdmlzaW9uYWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYg
Y29udGVudFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgZGlkQ29tbWl0
TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxMb2Fk
KCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYpOyAv
LyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkZWZhMWU1Li4xZWY1Y2E1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjIxMiw3ICsy
MjEyLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyTG9hZERlcGVuZGVudENhbGxiYWNrcygp
CiAgICAgfQogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IG9wYXF1ZUZy
YW1lTG9hZFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21t
aXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwg
dWludDMyX3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJ
bmZvJiBjZXJ0aWZpY2F0ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQog
ewogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CiAgICAgV2ViQ29udGV4dFVzZXJN
ZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2Rlcih1c2VyRGF0YSwgbV9wcm9jZXNzLmdldCgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAzZWRjOGE4Li5mNmRm
NDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03NzIsNyAr
NzcyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdW5y
ZWFjaGFibGVVUkwsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNl
aXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBjb25zdCBTdHJpbmcmLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQg
ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZv
aWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJh
bWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVz
c2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRG
aW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCBhY2FmNzFhLi42ZDFjYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTExMSw3ICsxMTEsNyBAQCBtZXNzYWdlcyAt
PiBXZWJQYWdlUHJveHkgewogICAgIERpZENyZWF0ZVN1YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQp
CiAKICAgICAjIEZyYW1lIGxvYWQgbWVzc2FnZXMKLSAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBl
LCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkQ29t
bWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1
aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5m
bywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFy
aWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6
OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVu
Y29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAg
ICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAzMDVhNmQ4Li5jNjc1YTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTMwLDggKzExMzAsNiBAQAogCQlCQ0YxODYzODE2
N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVN
b2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIzMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJv
Y2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1l
bnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBw
bGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsK
LQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTUxMjQzMDQ3QjAw
NTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oICovOyB9OwotCQlCQ0Y1MDVFODEyNDMwNDdCMDA1
OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRl
SW5mby5tbSAqLzsgfTsKIAkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmlj
YXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovOyB9Owog
CQlCQ0Y2OUY4NjExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NDExNzZDRDZG
MDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi87IH07CiAJCUJDRjY5Rjg3MTE3NkNE
NkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NTExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlz
dG9yeUNsaWVudC5oICovOyB9OwpAQCAtMjY5NSw4ICsyNjkzLDYgQEAKIAkJQkNGMTg2MzcxNjdE
MDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ2FjaGVNb2RlbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50
Lmg7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4
dFN1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4
dFN1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTUxMjQz
MDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNTA2ODQxMjQzMTg2MTAwNTk1NUFFIC8qIFNl
Y3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBw
YXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3Vy
Y2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyog
V2ViQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YkNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y2OUY4
NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJIaXN0b3J5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2NDEsOCArNDYzNyw2IEBACiAJCQkJQzU3NEE1ODAxMkU2NjY4
MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSAqLywKIAkJCQlFMTk1ODJEMjE1M0NCRkQ3
MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oICovLAogCQkJCUUxOTU4MkQ0MTUzQ0MwNTMwMEI2
MDg3NSAvKiBQREZLaXRJbXBvcnRzLm1tICovLAotCQkJCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVB
RSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUg
LyogQ2VydGlmaWNhdGVJbmZvLm1tICovLAogCQkJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgzOCAv
KiBQcmludEluZm9NYWMubW0gKi8sCiAJCQkJMkQ0N0I1NkExODEwNzE0RTAwM0EzQUVFIC8qIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlLm1tICovLAogCQkJCTJENDdCNTZCMTgxMDcxNEUwMDNBM0FF
RSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oICovLApAQCAtNTYzMiw3ICs1NjI2LDYgQEAK
IAkJCQlDNTc0QTU4MTEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMTk1ODJEMzE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQ0IxODkxN0JCRkUwMzAwMzk0Q0Q4IC8qIFN5bmNocm9u
b3VzTmV0d29ya0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkNGNTA1RTcxMjQz
MDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFF
MDBENEYxODJENkY1MDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlSW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9y
bVBvcHVwTWVudURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMEND
Mjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKQEAgLTY5
NDUsNyArNjkzOCw2IEBACiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdp
bkNob2ljZUFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3
MDBFQzY4MUYgLyogUERGUGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTJEMkFERjA5MTYzNjJERDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBp
biBTb3VyY2VzICovLAotCQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0
ZUluZm8ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyog
UGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFF
NjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNjdFMEMx
NjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYTViODQ0OWMuLmM3ZmI0ZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNw
cApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2lu
Y2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgi
CkBAIC0zNiw2ICszNSw3IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAj
aW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExv
YWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggZmQyZWZhMi4uZjc0NTIxOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAog
bmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVj
dGlvblNwYWNlOwogY2xhc3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpA
QCAtNTAsNyArNTEsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJj
ZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIg
ewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3Qo
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50NjRf
dCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBkaWRS
ZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRS
ZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhD
ZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNw
b25zZU1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0
YVJlZmVyZW5jZSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmlu
aXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNv
dXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
Lm1lc3NhZ2VzLmluCmluZGV4IDk4YTg3OGYuLjRhNjIwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
bWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2Fk
ZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xs
IG5lZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBX
aWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50
NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNl
aXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Ug
cmVzcG9uc2UsIFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBu
ZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9u
c2UsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHND
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAg
IERpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSkKICAgICBEaWRGYWlsUmVz
b3VyY2VMb2FkKFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwCmluZGV4IDU5ZmY4ZDguLmUxNGI5YWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVM
b2FkZXJDbGllbnQuaCIKIAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2lu
Y2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNp
bmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0Zv
cndhcmRMaXN0SXRlbS5oIgpAQCAtNTEsNiArNTAsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NQ
cm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0
aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nocm9tZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvRE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRl
ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBlODA5OTlmLi5h
NTVhYzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNTEsNiAr
NTEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlR3JvdXA7CiBjbGFzcyBSZXNv
dXJjZVJlcXVlc3Q7CiBzdHJ1Y3QgUGx1Z2luSW5mbzsKKyNpZiAhRU5BQkxFKE5FVFdPUktfUFJP
Q0VTUykgJiYgVVNFKFNPVVApCitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CisjZW5kaWYKIH0KIAog
bmFtZXNwYWNlIFdlYktpdCB7CkBAIC03MiwxMCArNzUsNiBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVyczsKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogY2xhc3MgTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uOwogY2xhc3MgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOwot
I2Vsc2UKLSNpZiBVU0UoU09VUCkKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKLSNlbmRpZgogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKQEAgLTE3NCw3ICsxNzMsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygpOwogCiAjaWYgIUVOQUJMRShORVRX
T1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2Vy
dGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9z
dCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3Qg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICNlbmRpZgog
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluCmluZGV4IGQyYzRhYzAuLjkwN2I3ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTg3LDYgKzg3LDYgQEAgbWVz
c2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAjZW5kaWYKIAogI2lmICFFTkFC
TEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0UoU09VUCkKLSAgICBBbGxvd1NwZWNpZmljSFRUUFND
ZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdU
Rjo6U3RyaW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkK
ICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dl
YlByb2Nlc3NTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9j
ZXNzU291cC5jcHAKaW5kZXggYzBjMjA2Yy4uNjkxZGIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCkBAIC0yMTAsNyArMjEwLDcg
QEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRJZ25vcmVUTFNFcnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJv
cnMpCiB9CiAKICNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLXZvaWQgV2ViUHJvY2Vzczo6
YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCit2b2lkIFdlYlByb2Nlc3M6
OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgY29uc3QgU3RyaW5nJiBob3N0KQogewogICAg
IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZXRDbGllbnRDZXJ0aWZpY2F0ZShob3N0LCBjZXJ0
aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217801</attachid>
            <date>2013-11-25 06:08:11 -0800</date>
            <delta_ts>2013-11-25 06:20:38 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>57139</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZTJmNWY3Li45NmFkODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTMtMTEtMjUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dh
bmcgWXVsIFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm86OnNldENlcnRpZmljYXRlQ2hhaW4pOiBBZGRlZCwgYmVjYXVzZSBXZWJDb3JlQXJndW1lbnRD
b2RlcnMgbmVlZHMgaXQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0
aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRp
ZmljYXRlSW5mbyk6IE1vdmVkIGVuY29kZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNh
dGVJbmZvKTogTW92ZWQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIHRvIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZp
Y2F0ZSk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVudENvZGVycyBuZWVkcyBpdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKTogQWRkZWQsIGJl
Y2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorCiAyMDEzLTExLTE4ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIENhY2hlIHNldmVyYWwgdmVjdG9ycyB0byBhdm9pZCBtYWxsb2MvZnJlZSBjaHVy
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTEwOTY5MC4uMGRiZmVlMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NDczLDYgKzU0NzMsNyBAQCB3ZWJjb3Jl
X3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
QmxvYlJlZ2lzdHJ5SW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Js
b2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
QmxvYlJlc291cmNlSGFuZGxlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9CbG9iU3RvcmFnZURhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9D
b29raWVTdG9yYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGFCdWlsZGVyLmNwcCBcCkBAIC01NTA4LDYgKzU1MDksNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTb3VwLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuaCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDFlOTk1ODguLjYxZDc5ZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC0xNTIsNiArMTUyLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0d29yay9lZmwvTmV0d29ya1N0YXRlTm90aWZpZXJFZmwu
Y3BwCiAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VT
b3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAg
ICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0v
bmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmlu
ZGV4IDU1Nzc3NDIuLjk5M2MyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
R1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xODcs
NiArMTg3LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0
d29yay9ndGsvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdv
cmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0
d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
Q29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llU3RvcmFn
ZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291
cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNzBkNzMzZC4uZDBmOWM2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KQEAgLTY3LDYgKzY3LDkgQEAgX19aTjNXVEYxMFN0cmluZ0ltcGxjdlA4TlNT
dHJpbmdFdgogX19aTjNXVEYxMkF0b21pY1N0cmluZzNhZGRFUEsxMF9fQ0ZTdHJpbmcKIF9fWk4z
V1RGNlN0cmluZ0MxRVA4TlNTdHJpbmcKIF9fWk4zV1RGNlN0cmluZ0MxRVBLMTBfX0NGU3RyaW5n
CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRVJLTlNfMTZSZXNvdXJjZVJlc3BvbnNl
RQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2Vi
Q29yZTE1Q2VydGlmaWNhdGVJbmZvQzFFdgogX19aTjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFUktO
U183SW50UmVjdEUKIF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRVJLTlNfOUZsb2F0UmVjdEUK
IF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OTQzMjdhLi5iOWY2ZmQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xOTQxLDcgKzE5NDEsMTAgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAwNTI2QjRCIC8qIENTU1By
b3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0
eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRB
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJ
CTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3
OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUYyREJCRTkxNzhFM0M4MTAwMTQx
NDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0
ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZp
Y2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1RkM3REMyNkNGRTI1NjMy
MDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJn
ZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVG
RTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi87IH07CiAJCTYy
NkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAx
RTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRD
MDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI4RDIxNEIxMjEz
MUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg2NjksNyArODY3MiwxMCBAQAogCQk1REE5
N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25NYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zv
cm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291
cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2VydGlm
aWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFODE3
OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSAuLi8u
Li8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5n
Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JraW5nQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1MTksNiArMTM1MjUsNyBA
QAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0Mz
IC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEyMTJC
MDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBB
dWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBAIC0xMzg2NSw2ICsxMzg3
Miw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFB
QTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNE
MjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJD
b3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRT
b3VyY2VzLm1ha2UgKi8sCkBAIC0xNTQyMiw2ICsxNTQzMCw4IEBACiAJCQljaGlsZHJlbiA9ICgK
IAkJCQk1MTRDNzY0MjBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0aGVudGljYXRpb25NYWMuaCAqLywK
IAkJCQk1MTRDNzY0MzBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0aGVudGljYXRpb25NYWMubW0gKi8s
CisJCQkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovLAor
CQkJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8s
CiAJCQkJRTE0MjRDOEYxNjRCNDYwQjAwRjMyRDQwIC8qIENvb2tpZUphck1hYy5tbSAqLywKIAkJ
CQlFMTNGMDFGMDEyNzBFMTkwMDBERkJBNzEgLyogQ29va2llU3RvcmFnZU1hYy5tbSAqLywKIAkJ
CQlFMUI0Q0QyNDEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW0gKi8s
CkBAIC0yNDEyMiw2ICsyNDEzMiw3IEBACiAJCQkJMEYxMzE2M0UxNkVEMENDODAwMzVDQzA0IC8q
IFBsYXRmb3JtQ0FGaWx0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3
MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTNFNUUw
OTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwN0M1OUI1NDE3RjRBQzE1MDAwRkJDQkIgLyogQXVkaW9TdHJlYW1U
cmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE0MjRDOEExNjRCM0I0RTAwRjMyRDQwIC8qIFBs
YXRmb3JtQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVDNzYyQjE0OTdGRTE0MDBC
QzQ3NzUgLyogUGxhdGZvcm1FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODI5OSw2ICsyODMx
MCw3IEBACiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTcyQUY4RjE4MTFCQzM3MDBGQkFEQjkgLyogSlNE
T01Qcm9taXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERD
RSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1RjJEQkJFOTE3OEUzQzgxMDAx
NDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYy
REYxNzY2ODZEOTAwRDgzNkE4IC8qIFVwU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
RDE3NjJFMzE3NjY4NkVBMDBEODM2QTggLyogRG93blNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNkU4NEU5RTAxNzY2OEJFRTAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0
ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRl
SW5mby5oCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mby5oCmluZGV4IDRkZGM3NTEuLmM4YjNjZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZv
LmgKQEAgLTI5LDI0ICsyOSwxNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25z
ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotbmFtZXNwYWNlIENvcmVJUEMgewot
Y2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2VydGlmaWNhdGVJ
bmZvIHsKIHB1YmxpYzoKICAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0
aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworICAgIGV4cGxp
Y2l0IENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgZXhwbGlj
aXQgQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7CiAKKyAgICB2
b2lkIHNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKSB7IG1f
Y2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47IH0KICAgICBDRkFycmF5UmVmIGNl
cnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7
IH0KIAotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Owot
ICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBDZXJ0aWZp
Y2F0ZUluZm8mKTsKLQogI2lmbmRlZiBOREVCVUcKICAgICB2b2lkIGR1bXAoKSBjb25zdDsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUlu
Zm8ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUlu
Zm9NYWMubW0Kc2ltaWxhcml0eSBpbmRleCA3NSUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8ubW0KcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAyNjBlYWI2Li4y
MDNjOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRl
SW5mby5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZp
Y2F0ZUluZm9NYWMubW0KQEAgLTI2LDEzICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgogCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgi
Ci0jaW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5o
IgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKIHsK
QEAgLTQ4LDMyICs0Miw2IEBAIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKENGQXJy
YXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKIH0KIAotdm9pZCBDZXJ0aWZpY2F0ZUluZm86OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYg
KCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjpl
bmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9vbCBDZXJ0
aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENl
cnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0
ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
ICNpZm5kZWYgTkRFQlVHCiB2b2lkIENlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0CiB7CkBA
IC04OCw0ICs1Niw0IEBAIHZvaWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKIH0KICNl
bmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNw
cApzaW1pbGFyaXR5IGluZGV4IDUyJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAppbmRleCA5ZTkyNTE4Li5kNWZhZTRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uY3BwCkBAIC0yNiwxNiArMjYsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKIAotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgot
I2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
LSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDxSZXNvdXJjZUVycm9yLmg+CisjaW5jbHVkZSA8
UmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgogCi11c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKICAgICA6IG1fdGxzRXJy
b3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKQEAgLTY0LDUzICs1OSw0
IEBAIENlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygpCiB7CiB9CiAKLXZvaWQgQ2Vy
dGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZh
bHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNh
dGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQo
KSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2Vy
dGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5
PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIu
ZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0
aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86
OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRp
ZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChj
ZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlm
aWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBi
YWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5m
by5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVf
bmV3KAotICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQp
LCAwLCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgbnVsbHB0cikpKTsKLQot
ICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9y
cykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJv
cnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oCnNpbWlsYXJpdHkgaW5kZXggOTAlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXggZWI1NThhYS4uOTRl
NGZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJ
bmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oCkBAIC0zMCwxNyArMzAsMTAgQEAKICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
ICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQogbmFt
ZXNwYWNlIFdlYkNvcmUgeworCiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENlcnRpZmljYXRlSW5m
byB7CiBwdWJsaWM6CkBAIC01MSwxNiArNDQsMTUgQEAgcHVibGljOgogICAgIH5DZXJ0aWZpY2F0
ZUluZm8oKTsKIAogICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJl
dHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsg
fQogICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1f
dGxzRXJyb3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIm
KSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
JiwgQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCBzZXRUTFNFcnJvcnMoR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9CiAKIHByaXZh
dGU6CiAgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7CiAgICAgR1Rs
c0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIENlcnRpZmljYXRlSW5mb19o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggYTZmNGVmMy4uMmNiODQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYy
IEBACisyMDEzLTExLTI1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBDZXJ0aWZpY2F0ZUluZm8gdG8gV2ViQ29yZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0NzIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmFzZWQgb24gdGhlIHBhdGNoIGJ5IEt3
YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3Jr
TG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tOgorICAgICAg
ICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAg
ICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06CisgICAgICAg
ICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAg
ICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMu
aW46CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1h
bmFnZXIubWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAq
IFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlm
aWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86
OmNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6
V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKENvcmVJUEM6
Ojo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW06CisgICAgICAg
IChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRl
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZv
LmNwcDoKKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENv
cmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2lu
Zm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENv
bW1pdExvYWRGb3JGcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QpOgorCiAyMDEzLTExLTIyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgV2ViUGFnZUdyb3VwJ3Mgc2hvdWxkIGtlZXAgdHJhY2sgb2Ygd2hhdCBwcm9jZXNzZXMgdGhl
eSBhcmUgYmVpbmcgdXNlZCBieQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggOWQx
NTg1ZS4uZTEyZmYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlz
dC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00ODEsOCAr
NDgxLDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Vz
c2lvblN0YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKLQlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvU291cENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL1RleHRDaGVja2VyU3RhdGUuaCBcCkBAIC0xMzY1LDggKzEzNjMsNiBAQCB3ZWJr
aXQyX3BsdWdpbl9wcm9jZXNzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9n
dGsvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L2d0ay9XZWJFdmVudEZhY3RvcnkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2Fpcm8v
U2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9D
ZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZp
Y2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9j
ZXNzTGF1bmNoZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJv
Y2Vzc0xhdW5jaGVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAppbmRleCBj
NTQzYTNlLi5kMWM5M2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcApAQCAt
MjYsMTEgKzI2LDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQXN5bmNocm9u
b3VzTmV0d29ya0xvYWRlckNsaWVudC5oIgogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgi
CiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldl
YlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRl
SW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCA4NWI1
NmY4Li42YTkzZDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmgKQEAgLTM1LDEwICszNSwxMiBAQAogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCi1uYW1lc3BhY2Ug
V2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK30K
IAorbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBBdXRoZW50aWNhdGlvbk1hbmFnZXI7Ci1jbGFz
cyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsK
IGNsYXNzIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudDsKIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVyczsKQEAgLTEwNCw3ICsxMDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZG93bmxvYWRSZXF1ZXN0KHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYpOwogICAgIHZvaWQgY2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJ
RCk7CiAgICAgdm9pZCBzZXRDYWNoZU1vZGVsKHVpbnQzMl90KTsKLSAgICB2b2lkIGFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBjb25z
dCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9z
dCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJh
Y2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNU
b0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBmOTY0YTdmLi4zMmJjZTA1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5t
ZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBM
ZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChib29sIGZs
YWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChX
ZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKKyAg
ICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQogICAgIAogICAgIEdldE5ldHdv
cmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAKaW5kZXggNDMyZWM3Ni4uMmY4YTQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zMCw3ICszMCw2
IEBACiAKICNpbmNsdWRlICJBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmgiCiAjaW5j
bHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNp
bmNsdWRlICJOZXR3b3JrQmxvYlJlZ2lzdHJ5LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KaW5kZXggMTNkYzRjOS4u
MDA0NzhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05l
dHdvcmtQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbQpAQCAtMjgsMTMgKzI4LDEzIEBACiAKICNpZiBFTkFCTEUo
TkVUV09SS19QUk9DRVNTKQogCi0jaW1wb3J0ICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQg
Ik5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJOZXR3b3JrUmVz
b3VyY2VMb2FkZXIuaCIKICNpbXBvcnQgIlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2ltcG9y
dCAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2ltcG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9uUGFy
YW1ldGVycy5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxXZWJDb3Jl
L0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYktpdFN5c3RlbUlu
dGVyZmFjZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2Ug
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA2ZDNlNzEyLi5lNzI2ODU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNDksNyArNDksNiBAQCBsaXN0KEFQUEVO
RCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2Fs
bC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAK
IAotICAgIFNoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRv
Q29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMWIxYzU1NC4uNGQ4
MTc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTYxLDcgKzYxLDYgQEAgbGlzdChB
UFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5
c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3ku
Y3BwCiAKLSAgICBTaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0
VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzMmVjMGY0Li4zMmZhMjFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZp
Y2F0ZUluZm9NYWMubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgIldLQVBJQ2FzdC5oIgog
I2ltcG9ydCAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogV0tDZXJ0aWZpY2F0ZUluZm9SZWYgV0tDZXJ0
aWZpY2F0ZUluZm9DcmVhdGVXaXRoQ2VydGZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNh
dGVDaGFpbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAppbmRleCA0ZjY1ZTlmLi40OTc1OTg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCkBAIC0zNCwxMyArMzQsMTMgQEAKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2U7Ci0gICAgY2xhc3MgQ3JlZGVudGlhbDsKK2NsYXNzIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlOworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworY2xhc3MgQ3JlZGVudGlhbDsK
IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNz
IENoaWxkUHJvY2VzczsKIGNsYXNzIERvd25sb2FkOwogY2xhc3MgV2ViRnJhbWU7CkBAIC01OSw3
ICs1OSw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdp
dGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UoRG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSYpOwogCi0gICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNo
YWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgQ2VydGlmaWNhdGVJ
bmZvJik7CisgICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxs
ZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJik7CiAgICAgdm9pZCBjb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxl
bmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIGNhbmNlbENoYWxsZW5nZSh1aW50
NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgCkBAIC02OSw3ICs2OSw3IEBAIHByaXZhdGU6CiAgICAg
Ly8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9W
RVJSSURFOwogCi0gICAgYm9vbCB0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29u
c3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBDZXJ0aWZpY2F0ZUlu
Zm8mKTsKKyAgICBib29sIHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBX
ZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYpOwogCiAgICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5n
ZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5h
Z2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBkYTEzZjM0Li4zNGRiOWIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIx
LDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2Vy
IHsKLSAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdl
SUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpDZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGUpOworICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50
NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJDb3Jl
OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUpOwogICAgIHZvaWQgQ29udGludWVXaXRob3V0
Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBD
YW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCmluZGV4IGE4NjE4Y2QuLjhiNmQ3MTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRp
b25NYW5hZ2VyLm1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRp
b24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KQEAgLTI4LDkgKzI4LDkgQEAKIAog
I2lmIFVTRShTRUNVUklUWV9GUkFNRVdPUkspCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8u
aCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRl
SW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRleCBiYWY5NzViLi4zN2QyMzRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaApAQCAtNTA0LDcgKzUwNCw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJOjpP
YmplY3Q6OlR5cGU6OkNlcnRpZmljYXRlSW5mbzogewotICAgICAgICAgICAgQ2VydGlmaWNhdGVJ
bmZvIGNlcnRpZmljYXRlSW5mbzsKKyAgICAgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byBjZXJ0aWZpY2F0ZUluZm87CiAgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRp
ZmljYXRlSW5mbykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAg
Y29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoY2VydGlmaWNhdGVJbmZv
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8u
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAppbmRleCBlOTAx
ZDMwLi5mZWNiOTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlm
aWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5m
by5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNkZWZpbmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAog
I2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbyA6
IHB1YmxpYyBBUEk6OlR5cGVkT2JqZWN0PEFQSTo6T2JqZWN0OjpUeXBlOjpDZXJ0aWZpY2F0ZUlu
Zm8+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+
IGNyZWF0ZShjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJ
bmZvJiBpbmZvKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDZXJ0aWZp
Y2F0ZUluZm8oaW5mbykpOwogICAgIH0KIAotICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2Vy
dGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KKyAgICBj
b25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsg
cmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2Vi
Q2VydGlmaWNhdGVJbmZvKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICBleHBsaWNp
dCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBpbmZv
KQogICAgICAgICA6IG1fY2VydGlmaWNhdGVJbmZvKGluZm8pCiAgICAgewogICAgIH0KIAotICAg
IENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKKyAgICBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5k
ZXggZTUwYTU4YS4uMTVjNmY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIlNoYXJl
YWJsZUJpdG1hcC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvQ29va2llLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DcmVkZW50aWFsLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9DdXJzb3IuaD4KQEAgLTkxLDYgKzkyLDIyIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxU
cmFuc2Zvcm1hdGlvbk1hdHJpeD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFRy
YW5zCiAgICAgcmV0dXJuIFNpbXBsZUFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+
OjpkZWNvZGUoZGVjb2RlciwgdHJhbnNmb3JtYXRpb25NYXRyaXgpOwogfQogCit2b2lkIEFyZ3Vt
ZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgZW5jb2Rl
UGxhdGZvcm1EYXRhKGVuY29kZXIsIGNlcnRpZmljYXRlSW5mbyk7Cit9CisKK2Jvb2wgQXJndW1l
bnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGU7CisKKyAgICBpZiAoIWRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBj
ZXJ0aWZpY2F0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5m
byA9IGNlcnRpZmljYXRlOworCisgICAgcmV0dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJndW1lbnRD
b2RlcjxGbG9hdFBvaW50Pjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
RmxvYXRQb2ludCYgZmxvYXRQb2ludCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCA1ZDk4MDUyLi4yMzRkMDVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC0zMSw2ICszMSw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZTsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIENvbG9y
OwogY2xhc3MgQ3JlZGVudGlhbDsKIGNsYXNzIEN1cnNvcjsKQEAgLTEwMyw2ICsxMDQsMTMgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1h
dHJpeD4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3Jl
OjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNv
ZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7Cisg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYpOworICAgIHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVu
Y29kZXImLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9v
bCBkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6
OkZsb2F0UG9pbnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1
bWVudERlY29kZXImLCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCmluZGV4IGNlOWMw
NmQuLmU2ZTkyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCwxNCArMjksMTMgQEAKIAogI2ltcG9ydCAiQXJn
dW1lbnRDb2RlcnNDRi5oIgogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgotI2ltcG9ydCAiQ2Vy
dGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaCIKKyNpbXBv
cnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0tleWJvYXJk
RXZlbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTEzNCw2ICsx
MzQsMzYgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0
Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAor
dm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShB
cmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKQoreworICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRl
SW5mby5jZXJ0aWZpY2F0ZUNoYWluKCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZUNoYWluKSB7Cisg
ICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBl
bmNvZGVyIDw8IHRydWU7CisgICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIsIGNlcnRpZmljYXRl
Q2hhaW4pOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBj
ZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOworICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFpbikKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBp
ZiAoIUNvcmVJUEM6OmRlY29kZShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4o
Y2VydGlmaWNhdGVDaGFpbi5nZXQoKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGlj
IE5TU3RyaW5nKiBuc1N0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKICAgICByZXR1cm4g
c3RyaW5nLmltcGwoKSA/IFtOU1N0cmluZyBzdHJpbmdXaXRoQ2hhcmFjdGVyczpyZWludGVycHJl
dF9jYXN0PGNvbnN0IFVuaUNoYXIqPihzdHJpbmcuY2hhcmFjdGVycygpKSBsZW5ndGg6c3RyaW5n
Lmxlbmd0aCgpXSA6IEAiIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5kZXggNTRjOTVmNS4uMDdjZDEzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsy
NiwxNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJl
bmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJD
ZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtNjcs
NiArNjgsNTUgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQ
bGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAordm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0
YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvKQoreworICAgIGlmICghY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpIHsK
KyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7CisgICAgZ19vYmplY3RfZ2V0KEdfT0JK
RUNUKGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSwgImNlcnRpZmljYXRlIiwgJmNlcnRp
ZmljYXRlRGF0YSwgTlVMTCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKKyAgICAgICAg
ZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIg
PDwgdHJ1ZTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVm
KGNlcnRpZmljYXRlRGF0YSk7CisgICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVB
cnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0
ZS0+bGVuKSk7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oY2VydGlmaWNh
dGVJbmZvLnRsc0Vycm9ycygpKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRl
SW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRp
ZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCisgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEdCeXRlQXJy
YXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVE
YXRhUmVmZXJlbmNlLnNpemUoKSk7CisgICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5
X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCks
IGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIEdSZWZQdHI8R0J5dGVBcnJh
eT4gY2VydGlmaWNhdGVCeXRlcyA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworCisgICAg
R1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNrZW5kX2dldF9kZWZhdWx0KCk7CisgICAg
R1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NF
UlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KAorICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0
aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5
dGVzLmdldCgpLCBudWxscHRyKSkpOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0
ZShjZXJ0aWZpY2F0ZS5nZXQoKSk7CisKKyAgICB1aW50MzJfdCB0bHNFcnJvcnM7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZSh0bHNFcnJvcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
Y2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4odGxzRXJyb3JzKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAogdm9pZCBBcmd1bWVu
dENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRl
eCBlYTQyNWNiLi41M2M2NmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmlj
YXRlSW5mby5oIgogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldlYkNlcnRp
ZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIgpAQCAtNjAsNiAr
NTksNyBAQAogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0V2luZG93UHJvcGVydGllc1ByaXZhdGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9B
UElDYXN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0RyYWdJY29uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3duUHRyR3RrLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9HT3duUHRyU291cC5oPgpAQCAtMzAyOCw3ICszMDI4LDcgQEAgZ2Jv
b2xlYW4gd2Via2l0X3dlYl92aWV3X2dldF90bHNfaW5mbyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3
LCBHVGxzQ2VydGlmaWNhdGUqKgogICAgIGlmICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm4g
RkFMU0U7CiAKLSAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1h
aW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5mbygpOworICAgIGNvbnN0
IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5j
ZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZvKCk7CiAgICAgaWYgKGNlcnRpZmljYXRl
KQogICAgICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsK
ICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJv
eHkuY3BwCmluZGV4IDhkMjBjNzYuLmQ1NTczZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRp
YWwpCiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25N
YW5hZ2VyOjpDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdl
SUQpLCAwKTsKICAgICBlbHNlIHsKICAgICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZp
Y2F0ZUluZm8gPSBjcmVkZW50aWFsLT5jZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgQ2VydGlm
aWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5m
by0+Y2VydGlmaWNhdGVJbmZvKCkgOiBDZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRp
ZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8o
KTsKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1h
bmFnZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlh
bC0+Y29yZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAppbmRleCA2NzNlN2VjLi4yZWYzYzU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCkBAIC0xMzEsNyArMTMxLDcg
QEAgdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCkKICAgICBtX2Zy
YW1lTG9hZFN0YXRlLmRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKIH0KIAotdm9pZCBXZWJGcmFt
ZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IENl
cnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQordm9pZCBXZWJGcmFtZVByb3h5OjpkaWRD
b21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewogICAgIG1fZnJhbWVMb2FkU3RhdGUuZGlk
Q29tbWl0TG9hZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaApp
bmRleCA3Yjg1ZmYyLi43YWU5OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmgKQEAgLTQwLDkgKzQwLDExIEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBjbGFz
cyBDb25uZWN0aW9uOwogfQogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQorbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKIGNs
YXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQ
cm94eTsKIGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTsKQEAgLTk5LDcgKzEwMSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmlu
ZyYgdXJsKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFs
TG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2Fk
KCk7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNv
bnN0IENlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJp
bmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2
b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBk
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5h
dmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCA1NmFlNTQ5Li5jYjFlY2MxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjE1Myw3ICsyMTUzLDcgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmNsZWFyTG9hZERlcGVuZGVudENhbGxiYWNrcygpCiAgICAgfQogfQogCi12
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IG9wYXF1ZUZyYW1lTG9hZFR5cGUsIGNv
bnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpNZXNzYWdlRGVj
b2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3Qgb3BhcXVl
RnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxB
UEk6Ok9iamVjdD4gdXNlckRhdGE7CiAgICAgV2ViQ29udGV4dFVzZXJNZXNzYWdlRGVjb2RlciBt
ZXNzYWdlRGVjb2Rlcih1c2VyRGF0YSwgbV9wcm9jZXNzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiZjNhMDY0Li5mN2E2ZDRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC04NzcsNyArODc3LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdW5yZWFjaGFibGVVUkwsIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJl
Y3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJp
bmcmLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9h
ZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQz
Ml90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29u
c3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsK
ICAgICB2b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lk
IGRpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4ODNiZjA1Li40
NmRjY2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KQEAgLTExNyw3ICsxMTcsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkg
ewogICAgIERpZENyZWF0ZVN1YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1l
IGxvYWQgbWVzc2FnZXMKLSAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OkNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlw
ZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRG
YWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3Ig
ZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCiAgICAgRGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9j
dW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OGVlYzFkLi4zYWZj
MjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xMTQ1LDggKzExNDUsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEg
LyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07
CiAJCUJDRjRERTIzMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIy
MTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJ
QkNGNERFMjUxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4
MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQz
MDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRp
ZmljYXRlSW5mby5oICovOyB9OwotCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlm
aWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsK
IAkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlB
QTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZD
RDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2Vi
SGlzdG9yeUNsaWVudC5jcHAgKi87IH07CiAJCUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBX
ZWJIaXN0b3J5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0Y2OUY4NTExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICov
OyB9OwpAQCAtMjcyNSw4ICsyNzIzLDYgQEAKIAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8q
IENhY2hlTW9kZWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2Fj
aGVNb2RlbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRC
RDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3
b3JrL05ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8q
IENlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDZXJ0
aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQz
MDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkNGNTA2ODQxMjQzMTg2MTAwNTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1ld29y
ayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBw
ZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNv
bHV0ZT4iOyB9OwogCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJ
bmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNlcnRpZmljYXRlSW5m
by5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0NzFB
NTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJIaXN0b3J5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTQ2ODYsOCArNDY4Miw2IEBACiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBh
c3RlYm9hcmRUeXBlcy5tbSAqLywKIAkJCQlFMTk1ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyogUERG
S2l0SW1wb3J0cy5oICovLAogCQkJCUUxOTU4MkQ0MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZLaXRJ
bXBvcnRzLm1tICovLAotCQkJCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0
ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJ
bmZvLm1tICovLAogCQkJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm9NYWMu
bW0gKi8sCiAJCQkJMkQ0N0I1NkExODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlLm1tICovLAogCQkJCTJENDdCNTZCMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZS5oICovLApAQCAtNTY4MCw3ICs1Njc0LDYgQEAKIAkJCQlDNTc0QTU4MTEy
RTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MTk1ODJEMzE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTFGQ0IxODkxN0JCRkUwMzAwMzk0Q0Q4IC8qIFN5bmNocm9ub3VzTmV0d29ya0xvYWRl
ckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8q
IENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMDBENEYxODJENkY1MDAw
MDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9y
bVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKQEAgLTcwMDMsNyArNjk5Niw2IEBA
CiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRp
b24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERG
UGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJE
RDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAot
CQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291
cmNlcyAqLywKIAkJCQlCQ0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1l
bnVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAv
KiBQbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2
IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHAKaW5kZXggYTViODQ0OWMuLmM3ZmI0ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2luY2x1ZGUgIkNlcnRpZmlj
YXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCkBAIC0zNiw2ICszNSw3
IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJy
b3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
RXJyb3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLmgKaW5kZXggZmQyZWZhMi4uZjc0NTIxOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAg
LTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xh
c3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBA
QCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3Mg
Q2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVy
OwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291
cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYs
NyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJl
Y3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVp
bnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VX
aXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25z
dCBDZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VN
ZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwog
ICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGlu
dDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2Fk
KGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmlu
ZGV4IDk4YTg3OGYuLjRhNjIwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAg
LTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2
ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVjaCBtb3Jl
IGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxsU2VuZFJlcXVlc3Qo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQs
IHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRo
Q2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktp
dDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlm
aWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVy
ZW5jZSBkYXRhLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291
cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSkKICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdlYkNv
cmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
CmluZGV4IDA4ZmNhM2YuLjY5NTlmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVMb2FkZXJDbGllbnQuaCIK
IAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmlj
YXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5o
IgpAQCAtNTEsNiArNTAsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTT2JqZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0Nocm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBl
cldvcmxkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBjYTZmMzVhLi5kMWYzMTA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNTEsNiArNTEsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlR3JvdXA7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBz
dHJ1Y3QgUGx1Z2luSW5mbzsKKyNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykgJiYgVVNFKFNP
VVApCitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CisjZW5kaWYKIH0KIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC03MiwxMCArNzUsNiBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czsKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogY2xhc3MgTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uOwogY2xhc3MgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOwotI2Vsc2UKLSNpZiBVU0Uo
U09VUCkKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKLSNlbmRpZgogI2VuZGlmCiAKICNpZiBFTkFC
TEUoREFUQUJBU0VfUFJPQ0VTUykKQEAgLTE3NCw3ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCB1cGRhdGVBY3RpdmVQYWdlcygpOwogCiAjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpICYm
IFVTRShTT1VQKQotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBh
bGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
SU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluCmluZGV4IGQyYzRhYzAuLjkwN2I3ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTg3LDYgKzg3LDYgQEAgbWVzc2FnZXMg
LT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAjZW5kaWYKIAogI2lmICFFTkFCTEUoTkVU
V09SS19QUk9DRVNTKSAmJiBVU0UoU09VUCkKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZUZvckhvc3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3Ry
aW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICNlbmRp
ZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nl
c3NTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291
cC5jcHAKaW5kZXggYzBjMjA2Yy4uNjkxZGIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCkBAIC0yMTAsNyArMjEwLDcgQEAgdm9p
ZCBXZWJQcm9jZXNzOjpzZXRJZ25vcmVUTFNFcnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJvcnMpCiB9
CiAKICNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLXZvaWQgV2ViUHJvY2Vzczo6YWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2Vy
dGlmaWNhdGVJbmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCit2b2lkIFdlYlByb2Nlc3M6OmFsbG93
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgY29uc3QgU3RyaW5nJiBob3N0KQogewogICAgIFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlOjpzZXRDbGllbnRDZXJ0aWZpY2F0ZShob3N0LCBjZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGUoKSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217803</attachid>
            <date>2013-11-25 06:37:31 -0800</date>
            <delta_ts>2013-11-25 06:47:52 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>57916</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZTJmNWY3Li45NmFkODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTMtMTEtMjUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dh
bmcgWXVsIFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm86OnNldENlcnRpZmljYXRlQ2hhaW4pOiBBZGRlZCwgYmVjYXVzZSBXZWJDb3JlQXJndW1lbnRD
b2RlcnMgbmVlZHMgaXQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0
aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRp
ZmljYXRlSW5mbyk6IE1vdmVkIGVuY29kZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNh
dGVJbmZvKTogTW92ZWQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIHRvIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZp
Y2F0ZSk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVudENvZGVycyBuZWVkcyBpdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKTogQWRkZWQsIGJl
Y2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorCiAyMDEzLTExLTE4ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIENhY2hlIHNldmVyYWwgdmVjdG9ycyB0byBhdm9pZCBtYWxsb2MvZnJlZSBjaHVy
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTEwOTY5MC4uMGRiZmVlMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NDczLDYgKzU0NzMsNyBAQCB3ZWJjb3Jl
X3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
QmxvYlJlZ2lzdHJ5SW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Js
b2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
QmxvYlJlc291cmNlSGFuZGxlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9CbG9iU3RvcmFnZURhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9D
b29raWVTdG9yYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGFCdWlsZGVyLmNwcCBcCkBAIC01NTA4LDYgKzU1MDksNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTb3VwLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuaCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDFlOTk1ODguLjYxZDc5ZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC0xNTIsNiArMTUyLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0d29yay9lZmwvTmV0d29ya1N0YXRlTm90aWZpZXJFZmwu
Y3BwCiAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VT
b3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAg
ICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0v
bmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmlu
ZGV4IDU1Nzc3NDIuLjk5M2MyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
R1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xODcs
NiArMTg3LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0
d29yay9ndGsvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdv
cmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0
d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
Q29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llU3RvcmFn
ZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291
cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNzBkNzMzZC4uZDBmOWM2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KQEAgLTY3LDYgKzY3LDkgQEAgX19aTjNXVEYxMFN0cmluZ0ltcGxjdlA4TlNT
dHJpbmdFdgogX19aTjNXVEYxMkF0b21pY1N0cmluZzNhZGRFUEsxMF9fQ0ZTdHJpbmcKIF9fWk4z
V1RGNlN0cmluZ0MxRVA4TlNTdHJpbmcKIF9fWk4zV1RGNlN0cmluZ0MxRVBLMTBfX0NGU3RyaW5n
CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRVJLTlNfMTZSZXNvdXJjZVJlc3BvbnNl
RQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2Vi
Q29yZTE1Q2VydGlmaWNhdGVJbmZvQzFFdgogX19aTjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFUktO
U183SW50UmVjdEUKIF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRVJLTlNfOUZsb2F0UmVjdEUK
IF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OTQzMjdhLi5iOWY2ZmQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xOTQxLDcgKzE5NDEsMTAgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAwNTI2QjRCIC8qIENTU1By
b3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0
eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRB
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJ
CTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3
OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUYyREJCRTkxNzhFM0M4MTAwMTQx
NDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0
ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZp
Y2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1RkM3REMyNkNGRTI1NjMy
MDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJn
ZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVG
RTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi87IH07CiAJCTYy
NkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAx
RTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRD
MDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI4RDIxNEIxMjEz
MUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg2NjksNyArODY3MiwxMCBAQAogCQk1REE5
N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25NYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zv
cm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291
cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2VydGlm
aWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFODE3
OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSAuLi8u
Li8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5n
Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JraW5nQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1MTksNiArMTM1MjUsNyBA
QAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0Mz
IC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEyMTJC
MDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBB
dWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBAIC0xMzg2NSw2ICsxMzg3
Miw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFB
QTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNE
MjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJD
b3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRT
b3VyY2VzLm1ha2UgKi8sCkBAIC0xNTQyMiw2ICsxNTQzMCw4IEBACiAJCQljaGlsZHJlbiA9ICgK
IAkJCQk1MTRDNzY0MjBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0aGVudGljYXRpb25NYWMuaCAqLywK
IAkJCQk1MTRDNzY0MzBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0aGVudGljYXRpb25NYWMubW0gKi8s
CisJCQkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovLAor
CQkJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8s
CiAJCQkJRTE0MjRDOEYxNjRCNDYwQjAwRjMyRDQwIC8qIENvb2tpZUphck1hYy5tbSAqLywKIAkJ
CQlFMTNGMDFGMDEyNzBFMTkwMDBERkJBNzEgLyogQ29va2llU3RvcmFnZU1hYy5tbSAqLywKIAkJ
CQlFMUI0Q0QyNDEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW0gKi8s
CkBAIC0yNDEyMiw2ICsyNDEzMiw3IEBACiAJCQkJMEYxMzE2M0UxNkVEMENDODAwMzVDQzA0IC8q
IFBsYXRmb3JtQ0FGaWx0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3
MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTNFNUUw
OTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwN0M1OUI1NDE3RjRBQzE1MDAwRkJDQkIgLyogQXVkaW9TdHJlYW1U
cmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE0MjRDOEExNjRCM0I0RTAwRjMyRDQwIC8qIFBs
YXRmb3JtQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVDNzYyQjE0OTdGRTE0MDBC
QzQ3NzUgLyogUGxhdGZvcm1FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODI5OSw2ICsyODMx
MCw3IEBACiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTcyQUY4RjE4MTFCQzM3MDBGQkFEQjkgLyogSlNE
T01Qcm9taXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERD
RSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1RjJEQkJFOTE3OEUzQzgxMDAx
NDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYy
REYxNzY2ODZEOTAwRDgzNkE4IC8qIFVwU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
RDE3NjJFMzE3NjY4NkVBMDBEODM2QTggLyogRG93blNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNkU4NEU5RTAxNzY2OEJFRTAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0
ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRl
SW5mby5oCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mby5oCmluZGV4IDRkZGM3NTEuLmM4YjNjZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZv
LmgKQEAgLTI5LDI0ICsyOSwxNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25z
ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotbmFtZXNwYWNlIENvcmVJUEMgewot
Y2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2VydGlmaWNhdGVJ
bmZvIHsKIHB1YmxpYzoKICAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0
aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworICAgIGV4cGxp
Y2l0IENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgZXhwbGlj
aXQgQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7CiAKKyAgICB2
b2lkIHNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKSB7IG1f
Y2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47IH0KICAgICBDRkFycmF5UmVmIGNl
cnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7
IH0KIAotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Owot
ICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBDZXJ0aWZp
Y2F0ZUluZm8mKTsKLQogI2lmbmRlZiBOREVCVUcKICAgICB2b2lkIGR1bXAoKSBjb25zdDsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUlu
Zm8ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUlu
Zm9NYWMubW0Kc2ltaWxhcml0eSBpbmRleCA3NSUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8ubW0KcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAyNjBlYWI2Li4y
MDNjOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRl
SW5mby5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZp
Y2F0ZUluZm9NYWMubW0KQEAgLTI2LDEzICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgogCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgi
Ci0jaW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5o
IgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKIHsK
QEAgLTQ4LDMyICs0Miw2IEBAIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKENGQXJy
YXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKIH0KIAotdm9pZCBDZXJ0aWZpY2F0ZUluZm86OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYg
KCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjpl
bmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9vbCBDZXJ0
aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENl
cnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0
ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
ICNpZm5kZWYgTkRFQlVHCiB2b2lkIENlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0CiB7CkBA
IC04OCw0ICs1Niw0IEBAIHZvaWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKIH0KICNl
bmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNw
cApzaW1pbGFyaXR5IGluZGV4IDUyJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAppbmRleCA5ZTkyNTE4Li5kNWZhZTRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uY3BwCkBAIC0yNiwxNiArMjYsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKIAotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgot
I2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
LSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDxSZXNvdXJjZUVycm9yLmg+CisjaW5jbHVkZSA8
UmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgogCi11c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKICAgICA6IG1fdGxzRXJy
b3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKQEAgLTY0LDUzICs1OSw0
IEBAIENlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygpCiB7CiB9CiAKLXZvaWQgQ2Vy
dGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZh
bHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNh
dGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQo
KSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2Vy
dGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5
PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIu
ZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0
aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86
OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRp
ZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChj
ZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlm
aWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBi
YWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5m
by5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVf
bmV3KAotICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQp
LCAwLCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgbnVsbHB0cikpKTsKLQot
ICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9y
cykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJv
cnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oCnNpbWlsYXJpdHkgaW5kZXggOTAlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXggZWI1NThhYS4uOTRl
NGZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJ
bmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oCkBAIC0zMCwxNyArMzAsMTAgQEAKICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
ICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQogbmFt
ZXNwYWNlIFdlYkNvcmUgeworCiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENlcnRpZmljYXRlSW5m
byB7CiBwdWJsaWM6CkBAIC01MSwxNiArNDQsMTUgQEAgcHVibGljOgogICAgIH5DZXJ0aWZpY2F0
ZUluZm8oKTsKIAogICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJl
dHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsg
fQogICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1f
dGxzRXJyb3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIm
KSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
JiwgQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCBzZXRUTFNFcnJvcnMoR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9CiAKIHByaXZh
dGU6CiAgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7CiAgICAgR1Rs
c0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIENlcnRpZmljYXRlSW5mb19o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggYTZmNGVmMy4uZGIxZjIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYz
IEBACisyMDEzLTExLTI1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBDZXJ0aWZpY2F0ZUluZm8gdG8gV2ViQ29yZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0NzIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmFzZWQgb24gdGhlIHBhdGNoIGJ5IEt3
YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3Jr
TG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tOgorICAgICAg
ICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAg
ICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06CisgICAgICAg
ICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAg
ICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMu
aW46CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1h
bmFnZXIubWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAq
IFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlm
aWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86
OmNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6
V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKENvcmVJUEM6
Ojo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW06CisgICAgICAg
IChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRl
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZv
LmNwcDoKKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENv
cmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rs
c19pbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9h
ZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRDb21taXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KToKKwogMjAxMy0xMS0yMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFdlYlBhZ2VHcm91cCdzIHNob3VsZCBrZWVwIHRyYWNrIG9mIHdoYXQgcHJvY2Vzc2Vz
IHRoZXkgYXJlIGJlaW5nIHVzZWQgYnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IDlkMTU4NWUuLmUxMmZmMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDgx
LDggKzQ4MSw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEu
Y3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUuaCBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApAQCAtMTM2NSw4ICsxMzYzLDYgQEAg
d2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1No
YXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2Nh
aXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2Vy
dGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1
bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIv
UHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKaW5k
ZXggYzU0M2EzZS4uZDFjOTNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAK
QEAgLTI2LDExICsyNiwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5m
by5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRl
ICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXgg
ODViNTZmOC4uNmE5M2Q4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCkBAIC0zNSwxMCArMzUsMTIgQEAKICNpbmNsdWRlICJOZXR3b3JrUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAotbmFtZXNw
YWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87
Cit9CiAKK25hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyOwot
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M7CiBjbGFzcyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ7CiBzdHJ1Y3QgTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM7CkBAIC0xMDQsNyArMTA2LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25s
b2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwg
Y29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcm
IGhvc3QpOwogICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNh
bGxiYWNrSUQpOwogICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2Fj
aGVzVG9DbGVhcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZjk2NGE3Zi4uMzJiY2UwNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MubWVzc2FnZXMuaW4KQEAgLTM5LDcgKzM5LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nl
c3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9v
bCBmbGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3Qp
CisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXRO
ZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCmluZGV4IDQzMmVjNzYuLjJmOGE0OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzAsNyAr
MzAsNiBAQAogCiAjaW5jbHVkZSAiQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiTmV0d29ya0Jsb2JSZWdpc3RyeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IDEzZGM0
YzkuLjAwNDc4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTI4LDEzICsyOCwxMyBAQAogCiAjaWYgRU5B
QkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW1w
b3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTmV0d29y
a1Jlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNp
bXBvcnQgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbXBvcnQgIlNhbmRib3hJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0
ZW1JbnRlcmZhY2UuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNt
YWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggNmQzZTcxMi4uZTcy
Njg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQ5LDcgKzQ5LDYgQEAgbGlzdChB
UFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5
c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3ku
Y3BwCiAKLSAgICBTaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0
VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDFiMWM1NTQu
LjRkODE3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2MSw2IEBAIGxp
c3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVy
cy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9s
aWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVByb2Nlc3MvRGVm
YXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KaW5kZXggMzJlYzBmNC4uMzJmYTIx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmlj
YXRlSW5mb01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2Vy
dGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJXS0FQSUNhc3Qu
aCIKICNpbXBvcnQgIldlYkNlcnRpZmljYXRlSW5mby5oIgogCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLQ2VydGlmaWNhdGVJbmZvUmVmIFdL
Q2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRp
ZmljYXRlQ2hhaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGY2NWU5Zi4uNDk3NTk4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzQsMTMgKzM0LDEzIEBACiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlOwotICAgIGNsYXNzIENyZWRlbnRpYWw7CitjbGFzcyBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZTsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK2NsYXNzIENyZWRlbnRp
YWw7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBj
bGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9hZDsKIGNsYXNzIFdlYkZyYW1lOwpAQCAt
NTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZvciBkb3dubG9hZHMgd2l0aCBv
ciB3aXRob3V0IHRoZSBOZXR3b3JrUHJvY2VzcwogICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKERvd25sb2FkKiwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25D
aGFsbGVuZ2UmKTsKIAotICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRf
dCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IENlcnRpZmlj
YXRlSW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBj
aGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgog
ICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
KSBPVkVSUklERTsKIAotICAgIGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdl
KGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgQ2VydGlmaWNh
dGVJbmZvJik7CisgICAgYm9vbCB0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29u
c3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKIAogICAgIHVpbnQ2NF90IGVzdGFibGlzaElkZW50aWZpZXJGb3JDaGFs
bGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggZGExM2YzNC4uMzRkYjli
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yMSw3
ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IEF1dGhlbnRpY2F0aW9uTWFu
YWdlciB7Ci0gICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxs
ZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYktpdDo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENvbnRpbnVlV2l0
aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZv
aWQgQ2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMv
QXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBhODYxOGNkLi44YjZkNzEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCw5ICsyOCw5IEBA
CiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJ
bmZvLmgiCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjSWRlbnRpdHkuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKaW5kZXggYmFmOTc1Yi4uMzdkMjM0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAgLTUwNCw3ICs1MDQsNyBA
QCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQ
STo6T2JqZWN0OjpUeXBlOjpDZXJ0aWZpY2F0ZUluZm86IHsKLSAgICAgICAgICAgIENlcnRpZmlj
YXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisgICAgICAgICAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGVJbmZvOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShj
ZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIGNvZGVyLm1fcm9vdCA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKGNlcnRpZmljYXRl
SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJ
bmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXgg
ZTkwMWQzMC4uZmVjYjk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNl
cnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0
ZUluZm8uaApAQCAtMjcsMjcgKzI3LDI3IEBACiAjZGVmaW5lIFdlYkNlcnRpZmljYXRlSW5mb19o
CiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIK
KyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUlu
Zm8gOiBwdWJsaWMgQVBJOjpUeXBlZE9iamVjdDxBUEk6Ok9iamVjdDo6VHlwZTo6Q2VydGlmaWNh
dGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJ
bmZvPiBjcmVhdGUoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYgaW5mbykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2Vy
dGlmaWNhdGVJbmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9Cisg
ICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0
IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgZXhw
bGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYg
aW5mbykKICAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAK
LSAgICBDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvIG1fY2VydGlmaWNhdGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
CmluZGV4IGU1MGE1OGEuLjE1YzZmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJT
aGFyZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0Nvb2tpZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3JlZGVudGlhbC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQ3Vyc29yLmg+CkBAIC05MSw2ICs5MiwyMiBAQCBib29sIEFyZ3VtZW50Q29k
ZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBUcmFucwogICAgIHJldHVybiBTaW1wbGVBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0
cml4Pjo6ZGVjb2RlKGRlY29kZXIsIHRyYW5zZm9ybWF0aW9uTWF0cml4KTsKIH0KIAordm9pZCBB
cmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGVu
Y29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2Rl
ciwgY2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0
ZUluZm8gPSBjZXJ0aWZpY2F0ZTsKKworICAgIHJldHVybiB0cnVlOworfQogCiB2b2lkIEFyZ3Vt
ZW50Q29kZXI8RmxvYXRQb2ludD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IEZsb2F0UG9pbnQmIGZsb2F0UG9pbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNWQ5ODA1Mi4uMjM0ZDA1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEsNiArMzEs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3Mg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBD
b2xvcjsKIGNsYXNzIENyZWRlbnRpYWw7CiBjbGFzcyBDdXJzb3I7CkBAIC0xMDMsNiArMTA0LDEz
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRp
b25NYXRyaXg+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2Vi
Q29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQg
ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYp
OworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGlj
IGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpGbG9hdFBvaW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2Rl
ciYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
QXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQppbmRleCBj
ZTljMDZkLi5lNmU5MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dl
YkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMTQgKzI5LDEzIEBACiAKICNpbXBvcnQg
IkFyZ3VtZW50Q29kZXJzQ0YuaCIKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbXBvcnQg
IkNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCisj
aW1wb3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9LZXli
b2FyZEV2ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC0xMzQs
NiArMTM0LDM2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikg
eworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgZW5jb2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZp
Y2F0ZUNoYWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRl
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hhaW47Cisg
ICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNo
YWluKGNlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0
YXRpYyBOU1N0cmluZyogbnNTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgcmV0
dXJuIHN0cmluZy5pbXBsKCkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6cmVpbnRl
cnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkgbGVuZ3RoOnN0
cmluZy5sZW5ndGgoKV0gOiBAIiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IDU0Yzk1ZjUuLjA3Y2Qx
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVu
dENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVB
cmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwx
NiArMjYsMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVk
ZSAiQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8u
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAg
LTY3LDYgKzY4LDU1IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVj
b2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9y
bURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbykKK3sKKyAgICBpZiAoIWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgp
KSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChH
X09CSkVDVChjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZj
ZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAg
ICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNv
ZGVyIDw8IHRydWU7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0
R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhC
eXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlm
aWNhdGUtPmxlbikpOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNlcnRp
ZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZp
Y2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBD
ZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmlj
YXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0
aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0
ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9h
cnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0
YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRl
QXJyYXk+IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKwor
ICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwor
ICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RM
U19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldygKKyAgICAgICAgZ190bHNfYmFja2VuZF9nZXRf
Y2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwgImNlcnRpZmljYXRlIiwgY2VydGlmaWNh
dGVCeXRlcy5nZXQoKSwgbnVsbHB0cikpKTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlm
aWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxzRXJyb3JzOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmlj
YXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJn
dW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5j
b2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmlj
YXRlSW5mb1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaAppbmRleCA2ZmRiMjRmLi42ODM1ZjQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUlu
Zm9Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oCkBAIC0zNSw5ICszNSw5IEBAIHN0cnVjdCBfV2ViS2l0
Q2VydGlmaWNhdGVJbmZvIHsKICAgICB7CiAgICAgfQogCi0gICAgV2ViS2l0OjpDZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAgIFdlYkNvcmU6Q2VydGlmaWNhdGVJbmZvIGNlcnRp
ZmljYXRlSW5mbzsKIH07CiAKLWNvbnN0IFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvJiB3ZWJraXRD
ZXJ0aWZpY2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUluZm8oV2ViS2l0Q2VydGlmaWNhdGVJbmZvKik7
Citjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIHdlYmtpdENlcnRpZmljYXRlSW5mb0dl
dENlcnRpZmljYXRlSW5mbyhXZWJLaXRDZXJ0aWZpY2F0ZUluZm8qKTsKIAogI2VuZGlmIC8vIFdl
YktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBlYTQyNWNiLi41M2M2NmQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldl
YktpdFdlYlZpZXcuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUg
IkltYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1
ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIgpAQCAtNjAsNiArNTksNyBAQAogI2luY2x1ZGUgIldl
YktpdFdlYlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2luZG93UHJvcGVydGllc1By
aXZhdGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdJY29uLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3duUHRyR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3du
UHRyU291cC5oPgpAQCAtMzAyOCw3ICszMDI4LDcgQEAgZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3
X2dldF90bHNfaW5mbyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHVGxzQ2VydGlmaWNhdGUqKgog
ICAgIGlmICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm4gRkFMU0U7CiAKLSAgICBjb25zdCBD
ZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJ
bmZvKCktPmNlcnRpZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2Vy
dGlmaWNhdGVJbmZvKCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNh
dGUgPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDhkMjBjNzYu
LmQ1NTczZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5j
cHAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1
c2VDcmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVj
dGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhv
dXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsK
ICAgICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFs
LT5jZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5m
byA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkg
OiBDZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIHBs
YXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNh
dGVJbmZvKCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKTsKICAgICAgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OlVzZUNyZWRlbnRpYWxG
b3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlhbC0+Y29yZSgpLCBwbGF0Zm9ybUlu
Zm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
LmNwcAppbmRleCA2NzNlN2VjLi4yZWYzYzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwCkBAIC0xMzEsNyArMTMxLDcgQEAgdm9pZCBXZWJGcmFtZVByb3h5
OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCkKICAgICBtX2ZyYW1lTG9hZFN0YXRlLmRpZEZhaWxQ
cm92aXNpb25hbExvYWQoKTsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2Fk
KGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvKQordm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmlu
ZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKQogewogICAgIG1fZnJhbWVMb2FkU3RhdGUuZGlkQ29tbWl0TG9hZCgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAppbmRleCA3Yjg1ZmYyLi43YWU5OTE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTQwLDkgKzQw
LDExIEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBjbGFzcyBDb25uZWN0aW9uOwogfQogCi1u
YW1lc3BhY2UgV2ViS2l0IHsKLQorbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2VydGlmaWNh
dGVJbmZvOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5m
bzsKIGNsYXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1l
UG9saWN5TGlzdGVuZXJQcm94eTsKQEAgLTk5LDcgKzEwMSw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRp
ZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVy
bCk7CiAgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRDb21t
aXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYp
OworICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25z
dCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsK
ICAgICB2b2lkIGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0
aW9uKGNvbnN0IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3Rh
dGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCA1NmFlNTQ5Li5jYjFlY2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMjE1Myw3ICsyMTUzLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyTG9h
ZERlcGVuZGVudENhbGxiYWNrcygpCiAgICAgfQogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
Q29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIHVpbnQzMl90IG9wYXF1ZUZyYW1lTG9hZFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQg
V2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3Qg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7
CiAgICAgV2ViQ29udGV4dFVzZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2Rlcih1c2VyRGF0
YSwgbV9wcm9jZXNzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCBiZjNhMDY0Li5mN2E2ZDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCkBAIC04NzcsNyArODc3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgdW5yZWFjaGFibGVVUkwsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmLCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNz
YWdlRGVjb2RlciYpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNv
bnN0IENlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9p
ZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaERv
Y3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4ODNiZjA1Li40NmRjY2Y2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTExNyw3
ICsxMTcsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERpZENyZWF0ZVN1YmZy
YW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1lIGxvYWQgbWVzc2FnZXMKLSAgICBE
aWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5
cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdU
Rjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdl
RW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFp
bFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIg
dXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1
c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA1OGVlYzFkLi4zYWZjMjIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTQ1LDggKzEx
NDUsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0YxODYzNzE2N0Qw
NzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIzMTY4RTRCRDUw
MEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBO
ZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhGQTQ0ODAwQzk0
QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4
dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRp
ZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oICovOyB9Owot
CQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAw
NTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsKIAkJQkNGNTA3MjgxMjQzMjlBQTAw
NTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRp
ZmljYXRlSW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlz
dG9yeUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi87
IH07CiAJCUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NTExNzZD
RDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICovOyB9OwpAQCAtMjcyNSw4ICsyNzIz
LDYgQEAKIAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVNb2RlbC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3Jr
UHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0
d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzU3Vw
cGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyNDE2OEZBNDQ4
MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRp
ZmljYXRlSW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENl
cnRpZmljYXRlSW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNTA2ODQx
MjQzMTg2MTAwNTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0g
U2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2Vj
dXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlCQ0Y1MDcy
NjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJIaXN0b3J5Q2xp
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2ODYsOCArNDY4Miw2IEBA
CiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSAqLywK
IAkJCQlFMTk1ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oICovLAogCQkJ
CUUxOTU4MkQ0MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLm1tICovLAotCQkJCUJD
RjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1
MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tICovLAogCQkJCUUxQ0Mx
QjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm9NYWMubW0gKi8sCiAJCQkJMkQ0N0I1NkEx
ODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tICovLAogCQkJCTJE
NDdCNTZCMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oICovLApA
QCAtNTY4MCw3ICs1Njc0LDYgQEAKIAkJCQlDNTc0QTU4MTEyRTY2NjgxMDAyREZFOTggLyogUGFz
dGVib2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTk1ODJEMzE1M0NCRkQ3MDBCNjA4
NzUgLyogUERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQ0IxODkxN0JCRkUw
MzAwMzk0Q0Q4IC8qIFN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUFFMDBENEYxODJENkY1MDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdD
b250ZXh0SGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1
REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTcwMDMsNyArNjk5Niw2IEBACiAJCQkJMkQyQURGMTAxNjM2NEQ4
MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywK
IAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2luUGFzc3dvcmRGaWVsZC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5N0U0NyAvKiBQREZQbHVn
aW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDRjUwNUU4MTI0MzA0N0Iw
MDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0M0FC
QTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFBy
b3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYTViODQ0OWMuLmM3
ZmI0ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKE5F
VFdPUktfUFJPQ0VTUykKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUg
IkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLmgiCkBAIC0zNiw2ICszNSw3IEBACiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VC
dWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5k
ZXggZmQyZWZhMi4uZjc0NTIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3Mg
RGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQ2VydGlmaWNh
dGVJbmZvOwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xhc3MgUmVzb3VyY2VCdWZmZXI7CiBj
bGFzcyBSZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogdHlw
ZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJj
ZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIENv
cmVJUEM6Ok1lc3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCB3aWxsU2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9p
ZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0Jl
U2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBi
b29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHND
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURh
dGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5n
dGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsK
ICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDk4YTg3OGYuLjRhNjIwNDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChO
ZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNw
b25zZSBtZXNzYWdlcy4KICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkK
ICAgICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNU
b0JlU2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNl
cnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2Fn
ZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiAg
ICAgRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBpbnQ2NF90IGVu
Y29kZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNo
VGltZSkKICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJy
b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDA4ZmNhM2YuLjY5NTlm
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0yNyw3ICsyNyw2IEBA
CiAjaW5jbHVkZSAiV2ViRnJhbWVMb2FkZXJDbGllbnQuaCIKIAogI2luY2x1ZGUgIkF1dGhlbnRp
Y2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUg
IkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUg
IkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5oIgpAQCAtNTEsNiArNTAsNyBAQAog
I2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0No
cm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaAppbmRleCBjYTZmMzVhLi5kMWYzMTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaApAQCAtNTEsNiArNTEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQ
YWdlR3JvdXA7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBzdHJ1Y3QgUGx1Z2luSW5mbzsKKyNp
ZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykgJiYgVVNFKFNPVVApCitjbGFzcyBDZXJ0aWZpY2F0
ZUluZm87CisjZW5kaWYKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC03MiwxMCArNzUsNiBA
QCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICNpZiBFTkFCTEUoTkVUV09S
S19QUk9DRVNTKQogY2xhc3MgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOwogY2xhc3MgV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOwotI2Vsc2UKLSNpZiBVU0UoU09VUCkKLWNsYXNzIENlcnRpZmlj
YXRlSW5mbzsKLSNlbmRpZgogI2VuZGlmCiAKICNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykK
QEAgLTE3NCw3ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygp
OwogCiAjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQotICAgIHZvaWQg
YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5m
byYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0
aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3Ry
aW5nJiBob3N0KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGQyYzRhYzAuLjkw
N2I3ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVz
c2FnZXMuaW4KQEAgLTg3LDYgKzg3LDYgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lS
ZWNlaXZlciB7CiAjZW5kaWYKIAogI2lmICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0Uo
U09VUCkKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpD
ZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCisgICAgQWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBj
ZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKaW5kZXggYzBjMjA2Yy4u
NjkxZGIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlBy
b2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJv
Y2Vzc1NvdXAuY3BwCkBAIC0yMTAsNyArMjEwLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRJZ25v
cmVUTFNFcnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJvcnMpCiB9CiAKICNpZiAhRU5BQkxFKE5FVFdP
UktfUFJPQ0VTUykKLXZvaWQgV2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNh
dGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBjb25zdCBT
dHJpbmcmIGhvc3QpCit2b2lkIFdlYlByb2Nlc3M6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bywgY29uc3QgU3RyaW5nJiBob3N0KQogewogICAgIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpz
ZXRDbGllbnRDZXJ0aWZpY2F0ZShob3N0LCBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSk7
CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217804</attachid>
            <date>2013-11-25 06:47:52 -0800</date>
            <delta_ts>2013-11-25 07:22:56 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>58273</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZTJmNWY3Li45NmFkODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTMtMTEtMjUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dh
bmcgWXVsIFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm86OnNldENlcnRpZmljYXRlQ2hhaW4pOiBBZGRlZCwgYmVjYXVzZSBXZWJDb3JlQXJndW1lbnRD
b2RlcnMgbmVlZHMgaXQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0
aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRp
ZmljYXRlSW5mbyk6IE1vdmVkIGVuY29kZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNh
dGVJbmZvKTogTW92ZWQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIHRvIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZp
Y2F0ZSk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVudENvZGVycyBuZWVkcyBpdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKTogQWRkZWQsIGJl
Y2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorCiAyMDEzLTExLTE4ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIENhY2hlIHNldmVyYWwgdmVjdG9ycyB0byBhdm9pZCBtYWxsb2MvZnJlZSBjaHVy
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTEwOTY5MC4uMGRiZmVlMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NDczLDYgKzU0NzMsNyBAQCB3ZWJjb3Jl
X3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
QmxvYlJlZ2lzdHJ5SW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Js
b2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
QmxvYlJlc291cmNlSGFuZGxlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9CbG9iU3RvcmFnZURhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9D
b29raWVTdG9yYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGFCdWlsZGVyLmNwcCBcCkBAIC01NTA4LDYgKzU1MDksNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTb3VwLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuaCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDFlOTk1ODguLjYxZDc5ZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC0xNTIsNiArMTUyLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0d29yay9lZmwvTmV0d29ya1N0YXRlTm90aWZpZXJFZmwu
Y3BwCiAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VT
b3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAg
ICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0v
bmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmlu
ZGV4IDU1Nzc3NDIuLjk5M2MyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
R1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xODcs
NiArMTg3LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0
d29yay9ndGsvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdv
cmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0
d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
Q29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llU3RvcmFn
ZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291
cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNzBkNzMzZC4uZDBmOWM2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KQEAgLTY3LDYgKzY3LDkgQEAgX19aTjNXVEYxMFN0cmluZ0ltcGxjdlA4TlNT
dHJpbmdFdgogX19aTjNXVEYxMkF0b21pY1N0cmluZzNhZGRFUEsxMF9fQ0ZTdHJpbmcKIF9fWk4z
V1RGNlN0cmluZ0MxRVA4TlNTdHJpbmcKIF9fWk4zV1RGNlN0cmluZ0MxRVBLMTBfX0NGU3RyaW5n
CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRVJLTlNfMTZSZXNvdXJjZVJlc3BvbnNl
RQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2Vi
Q29yZTE1Q2VydGlmaWNhdGVJbmZvQzFFdgogX19aTjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFUktO
U183SW50UmVjdEUKIF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRVJLTlNfOUZsb2F0UmVjdEUK
IF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OTQzMjdhLi5iOWY2ZmQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xOTQxLDcgKzE5NDEsMTAgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAwNTI2QjRCIC8qIENTU1By
b3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0
eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRB
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJ
CTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3
OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUYyREJCRTkxNzhFM0M4MTAwMTQx
NDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0
ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZp
Y2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1RkM3REMyNkNGRTI1NjMy
MDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJn
ZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVG
RTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi87IH07CiAJCTYy
NkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAx
RTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRD
MDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI4RDIxNEIxMjEz
MUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg2NjksNyArODY3MiwxMCBAQAogCQk1REE5
N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25NYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zv
cm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291
cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2VydGlm
aWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFODE3
OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSAuLi8u
Li8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5n
Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JraW5nQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1MTksNiArMTM1MjUsNyBA
QAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0Mz
IC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEyMTJC
MDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBB
dWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBAIC0xMzg2NSw2ICsxMzg3
Miw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFB
QTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNE
MjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJD
b3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRT
b3VyY2VzLm1ha2UgKi8sCkBAIC0xNTQyMiw2ICsxNTQzMCw4IEBACiAJCQljaGlsZHJlbiA9ICgK
IAkJCQk1MTRDNzY0MjBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0aGVudGljYXRpb25NYWMuaCAqLywK
IAkJCQk1MTRDNzY0MzBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0aGVudGljYXRpb25NYWMubW0gKi8s
CisJCQkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovLAor
CQkJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8s
CiAJCQkJRTE0MjRDOEYxNjRCNDYwQjAwRjMyRDQwIC8qIENvb2tpZUphck1hYy5tbSAqLywKIAkJ
CQlFMTNGMDFGMDEyNzBFMTkwMDBERkJBNzEgLyogQ29va2llU3RvcmFnZU1hYy5tbSAqLywKIAkJ
CQlFMUI0Q0QyNDEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW0gKi8s
CkBAIC0yNDEyMiw2ICsyNDEzMiw3IEBACiAJCQkJMEYxMzE2M0UxNkVEMENDODAwMzVDQzA0IC8q
IFBsYXRmb3JtQ0FGaWx0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3
MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTNFNUUw
OTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwN0M1OUI1NDE3RjRBQzE1MDAwRkJDQkIgLyogQXVkaW9TdHJlYW1U
cmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE0MjRDOEExNjRCM0I0RTAwRjMyRDQwIC8qIFBs
YXRmb3JtQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVDNzYyQjE0OTdGRTE0MDBC
QzQ3NzUgLyogUGxhdGZvcm1FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODI5OSw2ICsyODMx
MCw3IEBACiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTcyQUY4RjE4MTFCQzM3MDBGQkFEQjkgLyogSlNE
T01Qcm9taXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERD
RSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1RjJEQkJFOTE3OEUzQzgxMDAx
NDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYy
REYxNzY2ODZEOTAwRDgzNkE4IC8qIFVwU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
RDE3NjJFMzE3NjY4NkVBMDBEODM2QTggLyogRG93blNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNkU4NEU5RTAxNzY2OEJFRTAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0
ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRl
SW5mby5oCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mby5oCmluZGV4IDRkZGM3NTEuLmM4YjNjZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZv
LmgKQEAgLTI5LDI0ICsyOSwxNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25z
ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotbmFtZXNwYWNlIENvcmVJUEMgewot
Y2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2VydGlmaWNhdGVJ
bmZvIHsKIHB1YmxpYzoKICAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0
aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworICAgIGV4cGxp
Y2l0IENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgZXhwbGlj
aXQgQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7CiAKKyAgICB2
b2lkIHNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKSB7IG1f
Y2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47IH0KICAgICBDRkFycmF5UmVmIGNl
cnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7
IH0KIAotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Owot
ICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBDZXJ0aWZp
Y2F0ZUluZm8mKTsKLQogI2lmbmRlZiBOREVCVUcKICAgICB2b2lkIGR1bXAoKSBjb25zdDsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUlu
Zm8ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUlu
Zm9NYWMubW0Kc2ltaWxhcml0eSBpbmRleCA3NSUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8ubW0KcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAyNjBlYWI2Li4y
MDNjOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRl
SW5mby5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZp
Y2F0ZUluZm9NYWMubW0KQEAgLTI2LDEzICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgogCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgi
Ci0jaW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5o
IgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKIHsK
QEAgLTQ4LDMyICs0Miw2IEBAIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKENGQXJy
YXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKIH0KIAotdm9pZCBDZXJ0aWZpY2F0ZUluZm86OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYg
KCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjpl
bmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9vbCBDZXJ0
aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENl
cnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0
ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
ICNpZm5kZWYgTkRFQlVHCiB2b2lkIENlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0CiB7CkBA
IC04OCw0ICs1Niw0IEBAIHZvaWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKIH0KICNl
bmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNw
cApzaW1pbGFyaXR5IGluZGV4IDUyJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAppbmRleCA5ZTkyNTE4Li5kNWZhZTRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uY3BwCkBAIC0yNiwxNiArMjYsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKIAotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgot
I2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
LSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDxSZXNvdXJjZUVycm9yLmg+CisjaW5jbHVkZSA8
UmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgogCi11c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKICAgICA6IG1fdGxzRXJy
b3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKQEAgLTY0LDUzICs1OSw0
IEBAIENlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygpCiB7CiB9CiAKLXZvaWQgQ2Vy
dGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZh
bHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNh
dGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQo
KSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2Vy
dGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5
PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIu
ZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0
aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86
OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRp
ZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChj
ZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlm
aWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBi
YWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5m
by5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVf
bmV3KAotICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQp
LCAwLCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgbnVsbHB0cikpKTsKLQot
ICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9y
cykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJv
cnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oCnNpbWlsYXJpdHkgaW5kZXggOTAlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXggZWI1NThhYS4uOTRl
NGZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJ
bmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oCkBAIC0zMCwxNyArMzAsMTAgQEAKICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
ICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQogbmFt
ZXNwYWNlIFdlYkNvcmUgeworCiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENlcnRpZmljYXRlSW5m
byB7CiBwdWJsaWM6CkBAIC01MSwxNiArNDQsMTUgQEAgcHVibGljOgogICAgIH5DZXJ0aWZpY2F0
ZUluZm8oKTsKIAogICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJl
dHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsg
fQogICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1f
dGxzRXJyb3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIm
KSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
JiwgQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCBzZXRUTFNFcnJvcnMoR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9CiAKIHByaXZh
dGU6CiAgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7CiAgICAgR1Rs
c0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIENlcnRpZmljYXRlSW5mb19o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggYTZmNGVmMy4uZGIxZjIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYz
IEBACisyMDEzLTExLTI1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBDZXJ0aWZpY2F0ZUluZm8gdG8gV2ViQ29yZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0NzIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmFzZWQgb24gdGhlIHBhdGNoIGJ5IEt3
YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3Jr
TG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tOgorICAgICAg
ICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAg
ICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06CisgICAgICAg
ICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAg
ICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMu
aW46CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1h
bmFnZXIubWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAq
IFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlm
aWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86
OmNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6
V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKENvcmVJUEM6
Ojo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW06CisgICAgICAg
IChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRl
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZv
LmNwcDoKKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENv
cmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rs
c19pbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9h
ZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRDb21taXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KToKKwogMjAxMy0xMS0yMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFdlYlBhZ2VHcm91cCdzIHNob3VsZCBrZWVwIHRyYWNrIG9mIHdoYXQgcHJvY2Vzc2Vz
IHRoZXkgYXJlIGJlaW5nIHVzZWQgYnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IDlkMTU4NWUuLmUxMmZmMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDgx
LDggKzQ4MSw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEu
Y3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUuaCBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApAQCAtMTM2NSw4ICsxMzYzLDYgQEAg
d2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1No
YXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2Nh
aXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2Vy
dGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1
bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIv
UHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKaW5k
ZXggYzU0M2EzZS4uZDFjOTNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAK
QEAgLTI2LDExICsyNiwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5m
by5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRl
ICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXgg
ODViNTZmOC4uNmE5M2Q4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCkBAIC0zNSwxMCArMzUsMTIgQEAKICNpbmNsdWRlICJOZXR3b3JrUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAotbmFtZXNw
YWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87
Cit9CiAKK25hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyOwot
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M7CiBjbGFzcyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ7CiBzdHJ1Y3QgTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM7CkBAIC0xMDQsNyArMTA2LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25s
b2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwg
Y29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcm
IGhvc3QpOwogICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNh
bGxiYWNrSUQpOwogICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2Fj
aGVzVG9DbGVhcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZjk2NGE3Zi4uMzJiY2UwNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MubWVzc2FnZXMuaW4KQEAgLTM5LDcgKzM5LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nl
c3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9v
bCBmbGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3Qp
CisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXRO
ZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCmluZGV4IDQzMmVjNzYuLjJmOGE0OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzAsNyAr
MzAsNiBAQAogCiAjaW5jbHVkZSAiQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiTmV0d29ya0Jsb2JSZWdpc3RyeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IDEzZGM0
YzkuLjAwNDc4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTI4LDEzICsyOCwxMyBAQAogCiAjaWYgRU5B
QkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW1w
b3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTmV0d29y
a1Jlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNp
bXBvcnQgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbXBvcnQgIlNhbmRib3hJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0
ZW1JbnRlcmZhY2UuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNt
YWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggNmQzZTcxMi4uZTcy
Njg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQ5LDcgKzQ5LDYgQEAgbGlzdChB
UFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5
c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3ku
Y3BwCiAKLSAgICBTaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0
VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDFiMWM1NTQu
LjRkODE3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2MSw2IEBAIGxp
c3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVy
cy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9s
aWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVByb2Nlc3MvRGVm
YXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KaW5kZXggMzJlYzBmNC4uMzJmYTIx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmlj
YXRlSW5mb01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2Vy
dGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJXS0FQSUNhc3Qu
aCIKICNpbXBvcnQgIldlYkNlcnRpZmljYXRlSW5mby5oIgogCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLQ2VydGlmaWNhdGVJbmZvUmVmIFdL
Q2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRp
ZmljYXRlQ2hhaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGY2NWU5Zi4uNDk3NTk4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzQsMTMgKzM0LDEzIEBACiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlOwotICAgIGNsYXNzIENyZWRlbnRpYWw7CitjbGFzcyBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZTsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK2NsYXNzIENyZWRlbnRp
YWw7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBj
bGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9hZDsKIGNsYXNzIFdlYkZyYW1lOwpAQCAt
NTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZvciBkb3dubG9hZHMgd2l0aCBv
ciB3aXRob3V0IHRoZSBOZXR3b3JrUHJvY2VzcwogICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKERvd25sb2FkKiwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25D
aGFsbGVuZ2UmKTsKIAotICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRf
dCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IENlcnRpZmlj
YXRlSW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBj
aGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgog
ICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
KSBPVkVSUklERTsKIAotICAgIGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdl
KGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgQ2VydGlmaWNh
dGVJbmZvJik7CisgICAgYm9vbCB0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29u
c3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKIAogICAgIHVpbnQ2NF90IGVzdGFibGlzaElkZW50aWZpZXJGb3JDaGFs
bGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggZGExM2YzNC4uMzRkYjli
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yMSw3
ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IEF1dGhlbnRpY2F0aW9uTWFu
YWdlciB7Ci0gICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxs
ZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYktpdDo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENvbnRpbnVlV2l0
aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZv
aWQgQ2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMv
QXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBhODYxOGNkLi44YjZkNzEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCw5ICsyOCw5IEBA
CiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJ
bmZvLmgiCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjSWRlbnRpdHkuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKaW5kZXggYmFmOTc1Yi4uMzdkMjM0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAgLTUwNCw3ICs1MDQsNyBA
QCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQ
STo6T2JqZWN0OjpUeXBlOjpDZXJ0aWZpY2F0ZUluZm86IHsKLSAgICAgICAgICAgIENlcnRpZmlj
YXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisgICAgICAgICAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGVJbmZvOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShj
ZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIGNvZGVyLm1fcm9vdCA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKGNlcnRpZmljYXRl
SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJ
bmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXgg
ZTkwMWQzMC4uZmVjYjk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNl
cnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0
ZUluZm8uaApAQCAtMjcsMjcgKzI3LDI3IEBACiAjZGVmaW5lIFdlYkNlcnRpZmljYXRlSW5mb19o
CiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIK
KyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUlu
Zm8gOiBwdWJsaWMgQVBJOjpUeXBlZE9iamVjdDxBUEk6Ok9iamVjdDo6VHlwZTo6Q2VydGlmaWNh
dGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJ
bmZvPiBjcmVhdGUoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYgaW5mbykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2Vy
dGlmaWNhdGVJbmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9Cisg
ICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0
IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgZXhw
bGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYg
aW5mbykKICAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAK
LSAgICBDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvIG1fY2VydGlmaWNhdGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
CmluZGV4IGU1MGE1OGEuLjE1YzZmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJT
aGFyZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0Nvb2tpZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3JlZGVudGlhbC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQ3Vyc29yLmg+CkBAIC05MSw2ICs5MiwyMiBAQCBib29sIEFyZ3VtZW50Q29k
ZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBUcmFucwogICAgIHJldHVybiBTaW1wbGVBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0
cml4Pjo6ZGVjb2RlKGRlY29kZXIsIHRyYW5zZm9ybWF0aW9uTWF0cml4KTsKIH0KIAordm9pZCBB
cmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGVu
Y29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2Rl
ciwgY2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0
ZUluZm8gPSBjZXJ0aWZpY2F0ZTsKKworICAgIHJldHVybiB0cnVlOworfQogCiB2b2lkIEFyZ3Vt
ZW50Q29kZXI8RmxvYXRQb2ludD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IEZsb2F0UG9pbnQmIGZsb2F0UG9pbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNWQ5ODA1Mi4uMjM0ZDA1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEsNiArMzEs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3Mg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBD
b2xvcjsKIGNsYXNzIENyZWRlbnRpYWw7CiBjbGFzcyBDdXJzb3I7CkBAIC0xMDMsNiArMTA0LDEz
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRp
b25NYXRyaXg+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2Vi
Q29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQg
ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYp
OworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGlj
IGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpGbG9hdFBvaW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2Rl
ciYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
QXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQppbmRleCBj
ZTljMDZkLi5lNmU5MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dl
YkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMTQgKzI5LDEzIEBACiAKICNpbXBvcnQg
IkFyZ3VtZW50Q29kZXJzQ0YuaCIKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbXBvcnQg
IkNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCisj
aW1wb3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9LZXli
b2FyZEV2ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC0xMzQs
NiArMTM0LDM2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikg
eworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgZW5jb2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZp
Y2F0ZUNoYWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRl
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hhaW47Cisg
ICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNo
YWluKGNlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0
YXRpYyBOU1N0cmluZyogbnNTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgcmV0
dXJuIHN0cmluZy5pbXBsKCkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6cmVpbnRl
cnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkgbGVuZ3RoOnN0
cmluZy5sZW5ndGgoKV0gOiBAIiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IDU0Yzk1ZjUuLjA3Y2Qx
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVu
dENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVB
cmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwx
NiArMjYsMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVk
ZSAiQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8u
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAg
LTY3LDYgKzY4LDU1IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVj
b2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9y
bURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbykKK3sKKyAgICBpZiAoIWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgp
KSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChH
X09CSkVDVChjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZj
ZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAg
ICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNv
ZGVyIDw8IHRydWU7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0
R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhC
eXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlm
aWNhdGUtPmxlbikpOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNlcnRp
ZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZp
Y2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBD
ZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmlj
YXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0
aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0
ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9h
cnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0
YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRl
QXJyYXk+IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKwor
ICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwor
ICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RM
U19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldygKKyAgICAgICAgZ190bHNfYmFja2VuZF9nZXRf
Y2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwgImNlcnRpZmljYXRlIiwgY2VydGlmaWNh
dGVCeXRlcy5nZXQoKSwgbnVsbHB0cikpKTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlm
aWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxzRXJyb3JzOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmlj
YXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJn
dW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5j
b2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmlj
YXRlSW5mb1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaAppbmRleCA2ZmRiMjRmLi5iMTYxZDYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUlu
Zm9Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oCkBAIC0yMCw5ICsyMCw5IEBACiAjaWZuZGVmIFdlYktp
dENlcnRpZmljYXRlSW5mb1ByaXZhdGVfaAogI2RlZmluZSBXZWJLaXRDZXJ0aWZpY2F0ZUluZm9Q
cml2YXRlX2gKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYktp
dENlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRl
IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiBzdHJ1Y3QgX1dlYktpdENlcnRpZmljYXRl
SW5mbyB7CiAgICAgX1dlYktpdENlcnRpZmljYXRlSW5mbyhHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlLCBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpCkBAIC0zNSw5ICszNSw5IEBA
IHN0cnVjdCBfV2ViS2l0Q2VydGlmaWNhdGVJbmZvIHsKICAgICB7CiAgICAgfQogCi0gICAgV2Vi
S2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAgIFdlYkNvcmU6Q2VydGlm
aWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKIH07CiAKLWNvbnN0IFdlYktpdDo6Q2VydGlmaWNh
dGVJbmZvJiB3ZWJraXRDZXJ0aWZpY2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUluZm8oV2ViS2l0Q2Vy
dGlmaWNhdGVJbmZvKik7Citjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIHdlYmtpdENl
cnRpZmljYXRlSW5mb0dldENlcnRpZmljYXRlSW5mbyhXZWJLaXRDZXJ0aWZpY2F0ZUluZm8qKTsK
IAogI2VuZGlmIC8vIFdlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGVfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBlYTQy
NWNiLi41M2M2NmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5m
by5oIgogI2luY2x1ZGUgIkltYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIgpAQCAtNjAsNiArNTksNyBA
QAogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2lu
ZG93UHJvcGVydGllc1ByaXZhdGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0RyYWdJY29uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3duUHRyR3RrLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9HT3duUHRyU291cC5oPgpAQCAtMzAyOCw3ICszMDI4LDcgQEAgZ2Jvb2xlYW4g
d2Via2l0X3dlYl92aWV3X2dldF90bHNfaW5mbyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHVGxz
Q2VydGlmaWNhdGUqKgogICAgIGlmICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm4gRkFMU0U7
CiAKLSAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFt
ZS0+Y2VydGlmaWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZp
Y2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZvKCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAg
ICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBp
ZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3Bw
CmluZGV4IDhkMjBjNzYuLmQ1NTczZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25D
aGFsbGVuZ2VQcm94eS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAg
ICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2Vy
OjpDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAw
KTsKICAgICBlbHNlIHsKICAgICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUlu
Zm8gPSBjcmVkZW50aWFsLT5jZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgQ2VydGlmaWNhdGVJ
bmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+Y2Vy
dGlmaWNhdGVJbmZvKCkgOiBDZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRl
SW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKTsKICAg
ICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6
OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlhbC0+Y29y
ZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJGcmFtZVByb3h5LmNwcAppbmRleCA2NzNlN2VjLi4yZWYzYzU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCkBAIC0xMzEsNyArMTMxLDcgQEAgdm9p
ZCBXZWJGcmFtZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCkKICAgICBtX2ZyYW1lTG9h
ZFN0YXRlLmRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5
OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IENlcnRpZmlj
YXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQordm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRM
b2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewogICAgIG1fZnJhbWVMb2FkU3RhdGUuZGlkQ29tbWl0
TG9hZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAppbmRleCA3
Yjg1ZmYyLi43YWU5OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
LmgKQEAgLTQwLDkgKzQwLDExIEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBjbGFzcyBDb25u
ZWN0aW9uOwogfQogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQorbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdl
YkNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eTsK
IGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTsKQEAgLTk5LDcgKzEwMSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJs
KTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZChj
b25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7Ci0g
ICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IENl
cnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNv
bnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGRp
ZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBkaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRp
b24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAppbmRleCA1NmFlNTQ5Li5jYjFlY2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjE1Myw3ICsyMTUzLDcgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmNsZWFyTG9hZERlcGVuZGVudENhbGxiYWNrcygpCiAgICAgfQogfQogCi12b2lkIFdl
YlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IG9wYXF1ZUZyYW1lTG9hZFR5cGUsIGNvbnN0IENl
cnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYg
ZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0
X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3Qgb3BhcXVlRnJhbWVM
b2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8s
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxBUEk6Ok9i
amVjdD4gdXNlckRhdGE7CiAgICAgV2ViQ29udGV4dFVzZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdl
RGVjb2Rlcih1c2VyRGF0YSwgbV9wcm9jZXNzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAppbmRleCBiZjNhMDY0Li5mN2E2ZDRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC04NzcsNyArODc3LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdW5yZWFjaGFibGVVUkwsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQ
cm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmLCBD
b3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3Im
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZy
YW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZy
YW1lTG9hZFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2
b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZh
aWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4ODNiZjA1Li40NmRjY2Y2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTExNyw3ICsxMTcsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAg
IERpZENyZWF0ZVN1YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1lIGxvYWQg
bWVzc2FnZXMKLSAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RG
OjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OkNlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVu
Y29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9h
ZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3Is
IFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlh
ZGljCiAgICAgRGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2Vy
TWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJN
ZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OGVlYzFkLi4zYWZjMjIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xMTQ1LDggKzExNDUsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2Fj
aGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJD
RjRERTIzMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRC
RDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERF
MjUxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRB
RkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAw
NTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRl
SW5mby5oICovOyB9OwotCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJ
bmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNG
NTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsKIAkJQkNG
NTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlBQTAwNTk1
NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZDRDZGMDA0
NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9y
eUNsaWVudC5jcHAgKi87IH07CiAJCUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0
b3J5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0Y2OUY4NTExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICovOyB9OwpA
QCAtMjcyNSw4ICsyNzIzLDYgQEAKIAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hl
TW9kZWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVNb2Rl
bC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRCRDUwMEM5
NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3b3JrL05l
dHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
Q0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRp
ZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDZXJ0aWZpY2F0
ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAw
NTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkNGNTA2ODQxMjQzMTg2MTAwNTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4i
OyB9OwogCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNlcnRpZmljYXRlSW5mby5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyog
V2ViSGlzdG9yeUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJIaXN0b3J5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2
ODYsOCArNDY4Miw2IEBACiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9h
cmRUeXBlcy5tbSAqLywKIAkJCQlFMTk1ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1w
b3J0cy5oICovLAogCQkJCUUxOTU4MkQ0MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRz
Lm1tICovLAotCQkJCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8u
aCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1t
ICovLAogCQkJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm9NYWMubW0gKi8s
CiAJCQkJMkQ0N0I1NkExODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Lm1tICovLAogCQkJCTJENDdCNTZCMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tp
bmdTdG9yZS5oICovLApAQCAtNTY4MCw3ICs1Njc0LDYgQEAKIAkJCQlDNTc0QTU4MTEyRTY2Njgx
MDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTk1ODJE
MzE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTFGQ0IxODkxN0JCRkUwMzAwMzk0Q0Q4IC8qIFN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRp
ZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMDBENEYxODJENkY1MDAwMDg3REQ3
IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nl
c3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKQEAgLTcwMDMsNyArNjk5Niw2IEBACiAJCQkJ
MkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2lu
UGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5
N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJD
RjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAq
LywKIAkJCQlCQ0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRh
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVn
aW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2IC8qIFBs
dWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggYTViODQ0OWMuLmM3ZmI0ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5m
by5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCkBAIC0zNiw2ICszNSw3IEBACiAj
aW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3Iu
aD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLmgKaW5kZXggZmQyZWZhMi4uZjc0NTIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTQwLDYg
KzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xhc3MgUmVz
b3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBAQCBjbGFz
cyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgQ2VydGlm
aWNhdGVJbmZvOwogdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBj
bGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9h
ZGVyPiwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYsNyBAQCBw
cml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNw
b25zZSk7CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90
IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2Vy
dGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBDZXJ0
aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdl
KTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwogICAgIHZv
aWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0X3Qg
ZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJs
ZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDk4
YTg3OGYuLjRhNjIwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTI5LDcg
KzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewog
ICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVjaCBtb3JlIGdyYW51
bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVk
aXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2
NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlm
aWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktpdDo6Q2Vy
dGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2
ZVJlc3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJ
bmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNw
b25zZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBk
YXRhLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291cmNlTG9h
ZChkb3VibGUgZmluaXNoVGltZSkKICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdlYkNvcmU6OlJl
c291cmNlRXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4
IDA4ZmNhM2YuLjY5NTlmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBA
IC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVMb2FkZXJDbGllbnQuaCIKIAogI2lu
Y2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5m
by5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRs
ZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5oIgpAQCAt
NTEsNiArNTAsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTT2JqZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0Nocm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxk
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBjYTZmMzVhLi5kMWYzMTA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNTEsNiArNTEsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBQYWdlR3JvdXA7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBzdHJ1Y3Qg
UGx1Z2luSW5mbzsKKyNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykgJiYgVVNFKFNPVVApCitj
bGFzcyBDZXJ0aWZpY2F0ZUluZm87CisjZW5kaWYKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBA
IC03MiwxMCArNzUsNiBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICNp
ZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogY2xhc3MgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
OwogY2xhc3MgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOwotI2Vsc2UKLSNpZiBVU0UoU09VUCkK
LWNsYXNzIENlcnRpZmljYXRlSW5mbzsKLSNlbmRpZgogI2VuZGlmCiAKICNpZiBFTkFCTEUoREFU
QUJBU0VfUFJPQ0VTUykKQEAgLTE3NCw3ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRh
dGVBY3RpdmVQYWdlcygpOwogCiAjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpICYmIFVTRShT
T1VQKQotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0
IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBhbGxvd1Nw
ZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJ
bmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmlu
ZGV4IGQyYzRhYzAuLjkwN2I3ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTg3LDYgKzg3LDYgQEAgbWVzc2FnZXMgLT4gV2Vi
UHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAjZW5kaWYKIAogI2lmICFFTkFCTEUoTkVUV09SS19Q
Uk9DRVNTKSAmJiBVU0UoU09VUCkKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZv
ckhvc3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhv
c3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICNlbmRpZgogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3Vw
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAK
aW5kZXggYzBjMjA2Yy4uNjkxZGIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCkBAIC0yMTAsNyArMjEwLDcgQEAgdm9pZCBXZWJQ
cm9jZXNzOjpzZXRJZ25vcmVUTFNFcnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJvcnMpCiB9CiAKICNp
ZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLXZvaWQgV2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZp
Y0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCit2b2lkIFdlYlByb2Nlc3M6OmFsbG93U3BlY2lm
aWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbywgY29uc3QgU3RyaW5nJiBob3N0KQogewogICAgIFdlYkNvcmU6OlJl
c291cmNlSGFuZGxlOjpzZXRDbGllbnRDZXJ0aWZpY2F0ZShob3N0LCBjZXJ0aWZpY2F0ZUluZm8u
Y2VydGlmaWNhdGUoKSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217806</attachid>
            <date>2013-11-25 07:24:03 -0800</date>
            <delta_ts>2013-11-27 03:44:24 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>58274</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZTJmNWY3Li45NmFkODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTMtMTEtMjUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dh
bmcgWXVsIFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm86OnNldENlcnRpZmljYXRlQ2hhaW4pOiBBZGRlZCwgYmVjYXVzZSBXZWJDb3JlQXJndW1lbnRD
b2RlcnMgbmVlZHMgaXQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0
aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRp
ZmljYXRlSW5mbyk6IE1vdmVkIGVuY29kZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNh
dGVJbmZvKTogTW92ZWQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIHRvIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZp
Y2F0ZSk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVudENvZGVycyBuZWVkcyBpdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKTogQWRkZWQsIGJl
Y2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorCiAyMDEzLTExLTE4ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIENhY2hlIHNldmVyYWwgdmVjdG9ycyB0byBhdm9pZCBtYWxsb2MvZnJlZSBjaHVy
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTEwOTY5MC4uMGRiZmVlMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NDczLDYgKzU0NzMsNyBAQCB3ZWJjb3Jl
X3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
QmxvYlJlZ2lzdHJ5SW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Js
b2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
QmxvYlJlc291cmNlSGFuZGxlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9CbG9iU3RvcmFnZURhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9D
b29raWVTdG9yYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGFCdWlsZGVyLmNwcCBcCkBAIC01NTA4LDYgKzU1MDksNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTb3VwLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuaCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDFlOTk1ODguLjYxZDc5ZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC0xNTIsNiArMTUyLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0d29yay9lZmwvTmV0d29ya1N0YXRlTm90aWZpZXJFZmwu
Y3BwCiAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VT
b3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAg
ICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0v
bmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmlu
ZGV4IDU1Nzc3NDIuLjk5M2MyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
R1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xODcs
NiArMTg3LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0
d29yay9ndGsvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdv
cmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0
d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
Q29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llU3RvcmFn
ZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291
cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNzBkNzMzZC4uZDBmOWM2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KQEAgLTY3LDYgKzY3LDkgQEAgX19aTjNXVEYxMFN0cmluZ0ltcGxjdlA4TlNT
dHJpbmdFdgogX19aTjNXVEYxMkF0b21pY1N0cmluZzNhZGRFUEsxMF9fQ0ZTdHJpbmcKIF9fWk4z
V1RGNlN0cmluZ0MxRVA4TlNTdHJpbmcKIF9fWk4zV1RGNlN0cmluZ0MxRVBLMTBfX0NGU3RyaW5n
CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRVJLTlNfMTZSZXNvdXJjZVJlc3BvbnNl
RQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9DMUVQSzlfX0NGQXJyYXkKK19fWk43V2Vi
Q29yZTE1Q2VydGlmaWNhdGVJbmZvQzFFdgogX19aTjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFUktO
U183SW50UmVjdEUKIF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRVJLTlNfOUZsb2F0UmVjdEUK
IF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OTQzMjdhLi5iOWY2ZmQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xOTQxLDcgKzE5NDEsMTAgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAwNTI2QjRCIC8qIENTU1By
b3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0
eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRB
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJ
CTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3
OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUYyREJCRTkxNzhFM0M4MTAwMTQx
NDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0
ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZp
Y2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1RkM3REMyNkNGRTI1NjMy
MDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJn
ZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVG
RTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi87IH07CiAJCTYy
NkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwQzExNDA0MjRDMDAx
RTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2MjZDREUwRjExNDA0MjRD
MDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI4RDIxNEIxMjEz
MUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg2NjksNyArODY3MiwxMCBAQAogCQk1REE5
N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25NYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zv
cm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291
cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2VydGlm
aWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFODE3
OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSAuLi8u
Li8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5n
Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JraW5nQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1MTksNiArMTM1MjUsNyBA
QAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0Mz
IC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEyMTJC
MDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBB
dWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBAIC0xMzg2NSw2ICsxMzg3
Miw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFB
QTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNE
MjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJD
b3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3RkU0IC8qIERlcml2ZWRT
b3VyY2VzLm1ha2UgKi8sCkBAIC0xNTQyMiw2ICsxNTQzMCw4IEBACiAJCQljaGlsZHJlbiA9ICgK
IAkJCQk1MTRDNzY0MjBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0aGVudGljYXRpb25NYWMuaCAqLywK
IAkJCQk1MTRDNzY0MzBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0aGVudGljYXRpb25NYWMubW0gKi8s
CisJCQkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovLAor
CQkJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8s
CiAJCQkJRTE0MjRDOEYxNjRCNDYwQjAwRjMyRDQwIC8qIENvb2tpZUphck1hYy5tbSAqLywKIAkJ
CQlFMTNGMDFGMDEyNzBFMTkwMDBERkJBNzEgLyogQ29va2llU3RvcmFnZU1hYy5tbSAqLywKIAkJ
CQlFMUI0Q0QyNDEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW0gKi8s
CkBAIC0yNDEyMiw2ICsyNDEzMiw3IEBACiAJCQkJMEYxMzE2M0UxNkVEMENDODAwMzVDQzA0IC8q
IFBsYXRmb3JtQ0FGaWx0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3
MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTNFNUUw
OTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwN0M1OUI1NDE3RjRBQzE1MDAwRkJDQkIgLyogQXVkaW9TdHJlYW1U
cmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE0MjRDOEExNjRCM0I0RTAwRjMyRDQwIC8qIFBs
YXRmb3JtQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVDNzYyQjE0OTdGRTE0MDBC
QzQ3NzUgLyogUGxhdGZvcm1FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODI5OSw2ICsyODMx
MCw3IEBACiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTcyQUY4RjE4MTFCQzM3MDBGQkFEQjkgLyogSlNE
T01Qcm9taXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERD
RSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1RjJEQkJFOTE3OEUzQzgxMDAx
NDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYy
REYxNzY2ODZEOTAwRDgzNkE4IC8qIFVwU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
RDE3NjJFMzE3NjY4NkVBMDBEODM2QTggLyogRG93blNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNkU4NEU5RTAxNzY2OEJFRTAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0
ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRl
SW5mby5oCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mby5oCmluZGV4IDRkZGM3NTEuLmM4YjNjZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZv
LmgKQEAgLTI5LDI0ICsyOSwxNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25z
ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAotbmFtZXNwYWNlIENvcmVJUEMgewot
Y2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2VydGlmaWNhdGVJ
bmZvIHsKIHB1YmxpYzoKICAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0
aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworICAgIGV4cGxp
Y2l0IENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgZXhwbGlj
aXQgQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7CiAKKyAgICB2
b2lkIHNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKSB7IG1f
Y2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47IH0KICAgICBDRkFycmF5UmVmIGNl
cnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7
IH0KIAotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Owot
ICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBDZXJ0aWZp
Y2F0ZUluZm8mKTsKLQogI2lmbmRlZiBOREVCVUcKICAgICB2b2lkIGR1bXAoKSBjb25zdDsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUlu
Zm8ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUlu
Zm9NYWMubW0Kc2ltaWxhcml0eSBpbmRleCA3NSUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8ubW0KcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAyNjBlYWI2Li4y
MDNjOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRl
SW5mby5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZp
Y2F0ZUluZm9NYWMubW0KQEAgLTI2LDEzICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgogCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgi
Ci0jaW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5o
IgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKIHsK
QEAgLTQ4LDMyICs0Miw2IEBAIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKENGQXJy
YXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKIH0KIAotdm9pZCBDZXJ0aWZpY2F0ZUluZm86OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYg
KCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjpl
bmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9vbCBDZXJ0
aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENl
cnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0
ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
ICNpZm5kZWYgTkRFQlVHCiB2b2lkIENlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0CiB7CkBA
IC04OCw0ICs1Niw0IEBAIHZvaWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKIH0KICNl
bmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNw
cApzaW1pbGFyaXR5IGluZGV4IDUyJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAppbmRleCA5ZTkyNTE4Li5kNWZhZTRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uY3BwCkBAIC0yNiwxNiArMjYsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKIAotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgot
I2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
LSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDxSZXNvdXJjZUVycm9yLmg+CisjaW5jbHVkZSA8
UmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgogCi11c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKICAgICA6IG1fdGxzRXJy
b3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKQEAgLTY0LDUzICs1OSw0
IEBAIENlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygpCiB7CiB9CiAKLXZvaWQgQ2Vy
dGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZh
bHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNh
dGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQo
KSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2Vy
dGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5
PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIu
ZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0
aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86
OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRp
ZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChj
ZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlm
aWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBi
YWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5m
by5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVf
bmV3KAotICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQp
LCAwLCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgbnVsbHB0cikpKTsKLQot
ICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9y
cykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJv
cnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oCnNpbWlsYXJpdHkgaW5kZXggOTAlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXggZWI1NThhYS4uOTRl
NGZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJ
bmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oCkBAIC0zMCwxNyArMzAsMTAgQEAKICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
ICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQogbmFt
ZXNwYWNlIFdlYkNvcmUgeworCiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENlcnRpZmljYXRlSW5m
byB7CiBwdWJsaWM6CkBAIC01MSwxNiArNDQsMTUgQEAgcHVibGljOgogICAgIH5DZXJ0aWZpY2F0
ZUluZm8oKTsKIAogICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25zdCB7IHJl
dHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9CisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsg
fQogICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1f
dGxzRXJyb3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIm
KSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
JiwgQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCBzZXRUTFNFcnJvcnMoR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9CiAKIHByaXZh
dGU6CiAgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7CiAgICAgR1Rs
c0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIENlcnRpZmljYXRlSW5mb19o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggYTZmNGVmMy4uZGIxZjIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYz
IEBACisyMDEzLTExLTI1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBDZXJ0aWZpY2F0ZUluZm8gdG8gV2ViQ29yZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0NzIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmFzZWQgb24gdGhlIHBhdGNoIGJ5IEt3
YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3Jr
TG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tOgorICAgICAg
ICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAg
ICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06CisgICAgICAg
ICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAg
ICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMu
aW46CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1h
bmFnZXIubWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAq
IFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlm
aWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86
OmNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6
V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKENvcmVJUEM6
Ojo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW06CisgICAgICAg
IChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRl
Y29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZv
LmNwcDoKKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENv
cmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rs
c19pbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9h
ZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRDb21taXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KToKKwogMjAxMy0xMS0yMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFdlYlBhZ2VHcm91cCdzIHNob3VsZCBrZWVwIHRyYWNrIG9mIHdoYXQgcHJvY2Vzc2Vz
IHRoZXkgYXJlIGJlaW5nIHVzZWQgYnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IDlkMTU4NWUuLmUxMmZmMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDgx
LDggKzQ4MSw2IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEu
Y3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUuaCBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApAQCAtMTM2NSw4ICsxMzYzLDYgQEAg
d2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1No
YXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2Nh
aXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2Vy
dGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1
bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIv
UHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKaW5k
ZXggYzU0M2EzZS4uZDFjOTNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAK
QEAgLTI2LDExICsyNiwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5m
by5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRl
ICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXgg
ODViNTZmOC4uNmE5M2Q4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCkBAIC0zNSwxMCArMzUsMTIgQEAKICNpbmNsdWRlICJOZXR3b3JrUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAotbmFtZXNw
YWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87
Cit9CiAKK25hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyOwot
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M7CiBjbGFzcyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ7CiBzdHJ1Y3QgTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM7CkBAIC0xMDQsNyArMTA2LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25s
b2FkSUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxv
d1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwg
Y29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcm
IGhvc3QpOwogICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNh
bGxiYWNrSUQpOwogICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2Fj
aGVzVG9DbGVhcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZjk2NGE3Zi4uMzJiY2UwNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MubWVzc2FnZXMuaW4KQEAgLTM5LDcgKzM5LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nl
c3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9v
bCBmbGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3Qp
CisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXRO
ZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCmluZGV4IDQzMmVjNzYuLjJmOGE0OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzAsNyAr
MzAsNiBAQAogCiAjaW5jbHVkZSAiQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiTmV0d29ya0Jsb2JSZWdpc3RyeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IDEzZGM0
YzkuLjAwNDc4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTI4LDEzICsyOCwxMyBAQAogCiAjaWYgRU5B
QkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW1w
b3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTmV0d29y
a1Jlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNp
bXBvcnQgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbXBvcnQgIlNhbmRib3hJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0
ZW1JbnRlcmZhY2UuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNt
YWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggNmQzZTcxMi4uZTcy
Njg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQ5LDcgKzQ5LDYgQEAgbGlzdChB
UFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5
c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3ku
Y3BwCiAKLSAgICBTaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0
VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDFiMWM1NTQu
LjRkODE3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw3ICs2MSw2IEBAIGxp
c3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVy
cy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9s
aWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVByb2Nlc3MvRGVm
YXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KaW5kZXggMzJlYzBmNC4uMzJmYTIx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmlj
YXRlSW5mb01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2Vy
dGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJXS0FQSUNhc3Qu
aCIKICNpbXBvcnQgIldlYkNlcnRpZmljYXRlSW5mby5oIgogCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLQ2VydGlmaWNhdGVJbmZvUmVmIFdL
Q2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbihDRkFycmF5UmVmIGNlcnRp
ZmljYXRlQ2hhaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNGY2NWU5Zi4uNDk3NTk4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtMzQsMTMgKzM0LDEzIEBACiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlOwotICAgIGNsYXNzIENyZWRlbnRpYWw7CitjbGFzcyBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZTsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK2NsYXNzIENyZWRlbnRp
YWw7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBj
bGFzcyBDaGlsZFByb2Nlc3M7CiBjbGFzcyBEb3dubG9hZDsKIGNsYXNzIFdlYkZyYW1lOwpAQCAt
NTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZvciBkb3dubG9hZHMgd2l0aCBv
ciB3aXRob3V0IHRoZSBOZXR3b3JrUHJvY2VzcwogICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKERvd25sb2FkKiwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25D
aGFsbGVuZ2UmKTsKIAotICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRf
dCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IENlcnRpZmlj
YXRlSW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBj
aGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgY29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBjYW5jZWxDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgog
ICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
KSBPVkVSUklERTsKIAotICAgIGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdl
KGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgQ2VydGlmaWNh
dGVJbmZvJik7CisgICAgYm9vbCB0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29u
c3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKIAogICAgIHVpbnQ2NF90IGVzdGFibGlzaElkZW50aWZpZXJGb3JDaGFs
bGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggZGExM2YzNC4uMzRkYjli
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yMSw3
ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IEF1dGhlbnRpY2F0aW9uTWFu
YWdlciB7Ci0gICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxs
ZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYktpdDo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKICAgICB2b2lkIENvbnRpbnVlV2l0
aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZv
aWQgQ2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMv
QXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQppbmRleCBhODYxOGNkLi44YjZkNzEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCkBAIC0yOCw5ICsyOCw5IEBA
CiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJ
bmZvLmgiCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjSWRlbnRpdHkuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKaW5kZXggYmFmOTc1Yi4uMzdkMjM0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAgLTUwNCw3ICs1MDQsNyBA
QCBwdWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQ
STo6T2JqZWN0OjpUeXBlOjpDZXJ0aWZpY2F0ZUluZm86IHsKLSAgICAgICAgICAgIENlcnRpZmlj
YXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CisgICAgICAgICAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGVJbmZvOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShj
ZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIGNvZGVyLm1fcm9vdCA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKGNlcnRpZmljYXRl
SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJ
bmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXgg
ZTkwMWQzMC4uZmVjYjk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNl
cnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0
ZUluZm8uaApAQCAtMjcsMjcgKzI3LDI3IEBACiAjZGVmaW5lIFdlYkNlcnRpZmljYXRlSW5mb19o
CiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIK
KyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUlu
Zm8gOiBwdWJsaWMgQVBJOjpUeXBlZE9iamVjdDxBUEk6Ok9iamVjdDo6VHlwZTo6Q2VydGlmaWNh
dGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJ
bmZvPiBjcmVhdGUoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYgaW5mbykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2Vy
dGlmaWNhdGVJbmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9Cisg
ICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0
IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgZXhw
bGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYg
aW5mbykKICAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAK
LSAgICBDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvIG1fY2VydGlmaWNhdGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
CmluZGV4IGU1MGE1OGEuLjE1YzZmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJT
aGFyZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0Nvb2tpZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3JlZGVudGlhbC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQ3Vyc29yLmg+CkBAIC05MSw2ICs5MiwyMiBAQCBib29sIEFyZ3VtZW50Q29k
ZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBUcmFucwogICAgIHJldHVybiBTaW1wbGVBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0
cml4Pjo6ZGVjb2RlKGRlY29kZXIsIHRyYW5zZm9ybWF0aW9uTWF0cml4KTsKIH0KIAordm9pZCBB
cmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGVu
Y29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlOworCisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2Rl
ciwgY2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0
ZUluZm8gPSBjZXJ0aWZpY2F0ZTsKKworICAgIHJldHVybiB0cnVlOworfQogCiB2b2lkIEFyZ3Vt
ZW50Q29kZXI8RmxvYXRQb2ludD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IEZsb2F0UG9pbnQmIGZsb2F0UG9pbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNWQ5ODA1Mi4uMjM0ZDA1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEsNiArMzEs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3Mg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBD
b2xvcjsKIGNsYXNzIENyZWRlbnRpYWw7CiBjbGFzcyBDdXJzb3I7CkBAIC0xMDMsNiArMTA0LDEz
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRp
b25NYXRyaXg+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2Vi
Q29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQg
ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYp
OworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGlj
IGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpGbG9hdFBvaW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2Rl
ciYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
QXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQppbmRleCBj
ZTljMDZkLi5lNmU5MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dl
YkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMTQgKzI5LDEzIEBACiAKICNpbXBvcnQg
IkFyZ3VtZW50Q29kZXJzQ0YuaCIKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbXBvcnQg
IkNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCisj
aW1wb3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9LZXli
b2FyZEV2ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC0xMzQs
NiArMTM0LDM2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2Rl
UGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikg
eworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgZW5jb2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZp
Y2F0ZUNoYWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRl
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hhaW47Cisg
ICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNo
YWluKGNlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0
YXRpYyBOU1N0cmluZyogbnNTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgcmV0
dXJuIHN0cmluZy5pbXBsKCkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6cmVpbnRl
cnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkgbGVuZ3RoOnN0
cmluZy5sZW5ndGgoKV0gOiBAIiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IDU0Yzk1ZjUuLjA3Y2Qx
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVu
dENvZGVyc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVB
cmd1bWVudENvZGVyc1NvdXAuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwx
NiArMjYsMTYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVk
ZSAiQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8u
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAg
LTY3LDYgKzY4LDU1IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVj
b2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9y
bURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbykKK3sKKyAgICBpZiAoIWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgp
KSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChH
X09CSkVDVChjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZj
ZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAg
ICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNv
ZGVyIDw8IHRydWU7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0
R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhC
eXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlm
aWNhdGUtPmxlbikpOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNlcnRp
ZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZp
Y2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBD
ZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmlj
YXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0
aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0
ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9h
cnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0
YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRl
QXJyYXk+IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKwor
ICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwor
ICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RM
U19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldygKKyAgICAgICAgZ190bHNfYmFja2VuZF9nZXRf
Y2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwgImNlcnRpZmljYXRlIiwgY2VydGlmaWNh
dGVCeXRlcy5nZXQoKSwgbnVsbHB0cikpKTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlm
aWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxzRXJyb3JzOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmlj
YXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJn
dW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5j
b2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmlj
YXRlSW5mb1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaAppbmRleCA2ZmRiMjRmLi5hYjNmMWVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUlu
Zm9Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oCkBAIC0yMCw5ICsyMCw5IEBACiAjaWZuZGVmIFdlYktp
dENlcnRpZmljYXRlSW5mb1ByaXZhdGVfaAogI2RlZmluZSBXZWJLaXRDZXJ0aWZpY2F0ZUluZm9Q
cml2YXRlX2gKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYktp
dENlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRl
IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiBzdHJ1Y3QgX1dlYktpdENlcnRpZmljYXRl
SW5mbyB7CiAgICAgX1dlYktpdENlcnRpZmljYXRlSW5mbyhHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlLCBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpCkBAIC0zNSw5ICszNSw5IEBA
IHN0cnVjdCBfV2ViS2l0Q2VydGlmaWNhdGVJbmZvIHsKICAgICB7CiAgICAgfQogCi0gICAgV2Vi
S2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAgIFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiB9OwogCi1jb25zdCBXZWJLaXQ6OkNlcnRpZmlj
YXRlSW5mbyYgd2Via2l0Q2VydGlmaWNhdGVJbmZvR2V0Q2VydGlmaWNhdGVJbmZvKFdlYktpdENl
cnRpZmljYXRlSW5mbyopOworY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiB3ZWJraXRD
ZXJ0aWZpY2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUluZm8oV2ViS2l0Q2VydGlmaWNhdGVJbmZvKik7
CiAKICNlbmRpZiAvLyBXZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggZWE0
MjVjYi4uNTNjNjZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJJbWFnZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXZWJDZXJ0aWZpY2F0
ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKQEAgLTYwLDYgKzU5LDcg
QEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdp
bmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2Fz
dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0ay5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvR093blB0clNvdXAuaD4KQEAgLTMwMjgsNyArMzAyOCw3IEBAIGdib29sZWFu
IHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8oV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1Rs
c0NlcnRpZmljYXRlKioKICAgICBpZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIEZBTFNF
OwogCi0gICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJh
bWUtPmNlcnRpZmljYXRlSW5mbygpLT5jZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBjb25zdCBXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlm
aWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAg
ICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAg
aWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNw
cAppbmRleCA4ZDIwYzc2Li5kNTU3M2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHkuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25D
aGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFsKQog
ICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdl
cjo6Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlEKSwg
MCk7CiAgICAgZWxzZSB7CiAgICAgICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJ
bmZvID0gY3JlZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0gICAgICAgIENlcnRpZmljYXRl
SW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNl
cnRpZmljYXRlSW5mbygpIDogQ2VydGlmaWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0
ZUluZm8tPmNlcnRpZmljYXRlSW5mbygpIDogV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKCk7CiAg
ICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2Vy
OjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNv
cmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggNjczZTdlYy4uMmVmM2M1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcApAQCAtMTMxLDcgKzEzMSw3IEBAIHZv
aWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV9mcmFtZUxv
YWRTdGF0ZS5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7CiB9CiAKLXZvaWQgV2ViRnJhbWVQcm94
eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0
TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBtX2ZyYW1lTG9hZFN0YXRlLmRpZENvbW1p
dExvYWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKaW5kZXgg
N2I4NWZmMi4uN2FlOTkxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkZyYW1lUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94
eS5oCkBAIC00MCw5ICs0MCwxMSBAQCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29u
bmVjdGlvbjsKIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci0KK25hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIENlcnRpZmljYXRlSW5mbzsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBX
ZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7
CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC05OSw3ICsxMDEsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVy
bCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpOwot
ICAgIHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBD
ZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBj
b250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBk
aWRGaW5pc2hMb2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2Ft
ZURvY3VtZW50TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0
aW9uLCBzZXNzaW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggNTZhZTU0OS4uY2IxZWNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIxNTMsNyArMjE1Myw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjbGVhckxvYWREZXBlbmRlbnRDYWxsYmFja3MoKQogICAgIH0KIH0KIAotdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBjb25zdCBD
ZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
IGRlY29kZXIpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IG9wYXF1ZUZyYW1l
TG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBSZWZQdHI8QVBJOjpP
YmplY3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVzc2Fn
ZURlY29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYmYzYTA2NC4uZjdhNmQ0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtODc3LDcgKzg3Nyw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMLCBDb3JlSVBD
OjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9y
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
JiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBm
cmFtZUxvYWRUeXBlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVj
b2RlciYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAg
dm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRG
YWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggODgzYmYwNS4uNDZkY2Nm
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCkBAIC0xMTcsNyArMTE3LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAg
ICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2Fk
IG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdU
Rjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpDZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9y
LCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJp
YWRpYwogICAgIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2Vy
TWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNThlZWMxZC4uM2FmYzIyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTE0NSw4ICsxMTQ1LDYgQEAKIAkJQkNGMTg2MzgxNjdEMDcxRTAwQTFBODVBIC8qIENh
Y2hlTW9kZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICovOyB9OwogCQlC
Q0Y0REUyMzE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyMjE2OEU0
QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi87IH07CiAJCUJDRjRE
RTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNERFMjQxNjhGQTQ0ODAwQzk0
QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi87IH07Ci0JCUJDRjUwNUU3MTI0MzA0N0Iw
MDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0
ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRl
SW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
RjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi87IH07CiAJCUJD
RjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNzI2MTI0MzI5QUEwMDU5
NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKIAkJQkNGNjlGODYxMTc2Q0Q2RjAw
NDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3Rv
cnlDbGllbnQuY3BwICovOyB9OwogCQlCQ0Y2OUY4NzExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlz
dG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNGNjlGODUxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCAqLzsgfTsK
QEAgLTI3MjUsOCArMjcyMyw2IEBACiAJCUJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNo
ZU1vZGVsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlTW9k
ZWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyMjE2OEU0QkQ1MDBD
OTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBwYXRoID0gTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnRleHRTdXBwbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0
aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2VydGlmaWNh
dGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU2MTI0MzA0N0Iw
MDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+
IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8q
IFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00
Njg2LDggKzQ2ODIsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJv
YXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdElt
cG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0
cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZv
LmggKi8sCi0JCQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5t
bSAqLywKIAkJCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICov
LAogCQkJCTJENDdCNTZBMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZS5tbSAqLywKIAkJCQkyRDQ3QjU2QjE4MTA3MTRFMDAzQTNBRUUgLyogUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUuaCAqLywKQEAgLTU2ODAsNyArNTY3NCw2IEBACiAJCQkJQzU3NEE1ODExMkU2NjY4
MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE5NTgy
RDMxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxRkNCMTg5MTdCQkZFMDMwMDM5NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGll
bnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0
aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTAwRDRGMTgyRDZGNTAwMDA4N0RE
NyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0M0M0FCQjEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzg3ODBGQzExNjFDMkI4MDBDQzI3NjggLyogUGxhdGZvcm1Qcm9j
ZXNzSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCkBAIC03MDAzLDcgKzY5OTYsNiBAQAogCQkJ
CTJEMkFERjEwMTYzNjREODIwMDE5N0U0NyAvKiBQREZQbHVnaW5DaG9pY2VBbm5vdGF0aW9uLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0MjlCRkQxNzIxRTJDNzAwRUM2ODFGIC8qIFBERlBsdWdp
blBhc3N3b3JkRmllbGQubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDJBREYwOTE2MzYyREQ1MDAx
OTdFNDcgLyogUERGUGx1Z2luVGV4dEFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQlC
Q0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0
YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTZGQjdEMjExRTY1MUUyMDBEQjEzNzEgLyogUGx1
Z2luLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQ
bHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmlu
ZGV4IGE1Yjg0NDljLi5jN2ZiNGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTI4LDcgKzI4LDYgQEAK
IAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
I2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgpAQCAtMzYsNiArMzUsNyBAQAog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRl
SW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9y
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oCmluZGV4IGZkMmVmYTIuLmY3NDUyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCkBAIC00MCw2
ICs0MCw3IEBAIGNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
K2NsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKIGNsYXNzIFJl
c291cmNlQnVmZmVyOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsKQEAgLTUwLDcgKzUxLDYgQEAgY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIENlcnRp
ZmljYXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAog
Y2xhc3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxv
YWRlcj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVz
cG9uc2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRf
dCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ2Vy
dGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2Fn
ZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKICAgICB2
b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBpbnQ2NF90
IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNlTG9hZChkb3Vi
bGUgZmluaXNoVGltZSk7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgppbmRleCA5
OGE4NzhmLi40YTYyMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCkBAIC0yOSw3
ICsyOSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBXZSdsbCBuZWVkIG11Y2ggbW9yZSBncmFu
dWxhcml0eSBmb3IgcmVzcG9uc2UgbWVzc2FnZXMuCiAgICAgV2lsbFNlbmRSZXF1ZXN0KFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJl
ZGlyZWN0UmVzcG9uc2UpCiAgICAgRGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50
NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpCi0gICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJLaXQ6OkNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRl
SW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVz
cG9uc2VNZXNzYWdlKQogICAgIERpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2Ug
ZGF0YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCkKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxv
YWQoZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRl
eCAwOGZjYTNmLi42OTU5ZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApA
QCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIldlYkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAKICNp
bmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGUuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKQEAg
LTUxLDYgKzUwLDcgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU09iamVjdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RPTVdyYXBwZXJXb3Js
ZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggY2E2ZjM1YS4uZDFmMzEwNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTUxLDYgKzUxLDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owogc3RydWN0
IFBsdWdpbkluZm87CisjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQor
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpA
QCAtNzIsMTAgKzc1LDYgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAj
aWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIGNsYXNzIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bjsKIGNsYXNzIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjsKLSNlbHNlCi0jaWYgVVNFKFNPVVAp
Ci1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87Ci0jZW5kaWYKICNlbmRpZgogCiAjaWYgRU5BQkxFKERB
VEFCQVNFX1BST0NFU1MpCkBAIC0xNzQsNyArMTczLDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBk
YXRlQWN0aXZlUGFnZXMoKTsKIAogI2lmICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0Uo
U09VUCkKLSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25z
dCBDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpp
bmRleCBkMmM0YWMwLi45MDdiNzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC04Nyw2ICs4Nyw2IEBAIG1lc3NhZ2VzIC0+IFdl
YlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogI2VuZGlmCiAKICNpZiAhRU5BQkxFKE5FVFdPUktf
UFJPQ0VTUykgJiYgVVNFKFNPVVApCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBo
b3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJDb3JlOjpD
ZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCiAjZW5kaWYKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3Bw
CmluZGV4IGMwYzIwNmMuLjY5MWRiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcApAQCAtMjEwLDcgKzIxMCw3IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6c2V0SWdub3JlVExTRXJyb3JzKGJvb2wgaWdub3JlVExTRXJyb3JzKQogfQogCiAj
aWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpCi12b2lkIFdlYlByb2Nlc3M6OmFsbG93U3BlY2lm
aWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbywgY29uc3QgU3RyaW5nJiBob3N0KQordm9pZCBXZWJQcm9jZXNzOjphbGxvd1NwZWNp
ZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZv
JiBjZXJ0aWZpY2F0ZUluZm8sIGNvbnN0IFN0cmluZyYgaG9zdCkKIHsKICAgICBXZWJDb3JlOjpS
ZXNvdXJjZUhhbmRsZTo6c2V0Q2xpZW50Q2VydGlmaWNhdGUoaG9zdCwgY2VydGlmaWNhdGVJbmZv
LmNlcnRpZmljYXRlKCkpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217938</attachid>
            <date>2013-11-27 03:44:31 -0800</date>
            <delta_ts>2013-11-29 02:29:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124720-20131127124536.patch</filename>
            <type>text/plain</type>
            <size>77427</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmRlYjY5YTIyNWI5OTM1
MDBlNmFlMTJjNTA3Y2UxNWQ0NWM4OTBmOC4uZWFhMGQ1OWIyNjZkM2I4MjhmZmIzM2NiNzgxYmJk
NzEwY2RkNjk2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTExLTI3ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBDZXJ0aWZp
Y2F0ZUluZm8gdG8gV2ViQ29yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI0NzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQmFzZWQgb24gdGhlIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gPHNreXVsQGNv
bXBhbnkxMDAubmV0PgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZv
Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5m
by5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0ZUNo
YWluKTogQWRkZWQsIGJlY2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLm1tLgorICAg
ICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8pOiBNb3ZlZCBl
bmNvZGUoKSBhbmQgZGVjb2RlKCkgdG8gV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tLgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAg
IChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyk6IE1vdmVkIGVuY29k
ZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmg6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAg
KFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGUpOiBBZGRlZCwgYmVjYXVz
ZSBXZWJDb3JlQXJndW1lbnRDb2RlcnMgbmVlZHMgaXQuCisgICAgICAgIChXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm86OnNldFRMU0Vycm9ycyk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVu
dENvZGVycyBuZWVkcyBpdC4KKwogMjAxMy0xMS0yNyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIg
IDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIEludmFsaWQgY29t
bWFuZCBsaW5lIGVycm9yIHdoZW4gdmlzaXRpbmcgd3d3LmNoZXNzYmFzZS5jb20KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCAwMTVhYWY3NDY3Njg2ZDBmYmU5ZWJjODYyMjdkMTllMGZhY2Y0MWJkLi44YTU3ZGYzNmUx
ZjU5ZjU0OTFjMTI1MTI0MDJkODNiOTNlZjQ4NTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMg
QEAKKzIwMTMtMTEtMjcgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dh
bmcgWXVsIFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtM
b2FkZXJDbGllbnQuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAg
ICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAg
ICAgICogU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAg
KiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6CisgICAgICAg
ICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tYWMubW06CisgICAgICAgICogU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmg6CisgICAg
ICAgIChXZWJLaXQ6OlVzZXJNZXNzYWdlRGVjb2Rlcjo6YmFzZURlY29kZSk6CisgICAgICAgICog
U2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZp
Y2F0ZUluZm86OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6
Y2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpX
ZWJDZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6
OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAg
ICAgICAgKiBTaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAg
KENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVj
b2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBTaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8u
Y3BwOgorICAgICAgICAqIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
OgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29y
ZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxz
X2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlv
bkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2Fk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRp
ZENvbW1pdExvYWRGb3JGcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZv
ckhvc3QpOgorCiAyMDEzLTExLTI2ICBOaWNrIERpZWdvIFlhbWFuZSAgPG5pY2sueWFtYW5lQG9w
ZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW01lZGlhU3RyZWFtIEFQSV0gSFRNTE1lZGlhRWxlbWVu
dCBzaG91bGQgYmUgYWJsZSB0byB1c2UgTWVkaWFTdHJlYW0gYXMgc291cmNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQppbmRleCBjMDUxN2MzNGU3YmNkMmI4YTU3YmZkNmYwMDU0NzYzOWRj
YjFlYWRkLi40Yzc5NDJhZjQ0ZDc2MmUxNTQ5OWVkMzE1ZGUwODNlYzlkYzI1MDU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU0NzcsNiArNTQ3Nyw3IEBAIHdlYmNvcmVfcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9i
UmVnaXN0cnlJbXBsLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJl
c291cmNlSGFuZGxlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9i
UmVzb3VyY2VIYW5kbGUuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Js
b2JTdG9yYWdlRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Nvb2tp
ZVN0b3JhZ2UuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1
aWxkZXIuY3BwIFwKQEAgLTU1MTIsNiArNTUxMyw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5k
bGVDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1FZmwuY21ha2UKaW5kZXggMWU5OTU4ODc2ZjA4MzkyNjcwOTZhMDYyNDQ2NjFjNzA2
Yjc2MjkxMy4uNjFkNzlkZGY0YjZiYzNkYTA1YzlkMzk3NGY2Yjg1NTgxNjkwZWNmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE1Miw2ICsxNTIsNyBAQCBsaXN0KEFQUEVORCBXZWJD
b3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3RpZmll
ckVmbC5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVNvdXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5j
cHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0
d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21h
a2UKaW5kZXggNTU3Nzc0MmE1YTI1OTFkNDJkNmIxM2ZlYzg0ZjRmMTBlNzNkNDYwNi4uOTkzYzI1
ODQ5ZTRjYTAyYzMzZWZiODJhMTY3MDJiYzkxZTI2ZWEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsu
Y21ha2UKQEAgLTE4Nyw2ICsxODcsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAg
ICBwbGF0Zm9ybS9uZXR3b3JrL2d0ay9DcmVkZW50aWFsQmFja2luZ1N0b3JlLmNwcAogCiAgICAg
cGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAKKyAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291
cC9Db29raWVTdG9yYWdlU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVu
dGlhbFN0b3JhZ2VTb3VwLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA3MGQ3MzNkMzVkNTky
N2FkYzRlZDI3NGYzZmFmODcwM2Y1NDk4MmY0Li5kMGY5YzYyM2NhMGEyZTNlNjdkODNiMmY3NWRj
NzRmYWY2N2VkYTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNjcsNiArNjcsOSBAQCBfX1pO
M1dURjEwU3RyaW5nSW1wbGN2UDhOU1N0cmluZ0V2CiBfX1pOM1dURjEyQXRvbWljU3RyaW5nM2Fk
ZEVQSzEwX19DRlN0cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUDhOU1N0cmluZwogX19aTjNXVEY2
U3RyaW5nQzFFUEsxMF9fQ0ZTdHJpbmcKK19fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvQzFF
UktOU18xNlJlc291cmNlUmVzcG9uc2VFCitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0Mx
RVBLOV9fQ0ZBcnJheQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9DMUV2CiBfX1pON1dl
YkNvcmUxMENsaWVudFJlY3RDMUVSS05TXzdJbnRSZWN0RQogX19aTjdXZWJDb3JlMTBDbGllbnRS
ZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFdgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDgyYjFjMzA3YzhkZDk0ZWRiMDU1ZGFlNjIzMGIyZjlmZTFjNTZlYzMuLjI3MjZkYTc4MDZkZmIw
M2NhOTIzYjM2ZDI0MDk5ZDZkZmExZmYwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5NDMsNyArMTk0MywxMCBAQAogCQk1
REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlOYW1lcy5oIGluIENvcHkgR2Vu
ZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2NTgw
RUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMuaCAqLzsgfTsKIAkJNURGRThG
NTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQTBEMTVGNjQyMDBCNzkzRDYg
LyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURGRThGNTcwRDE2NDc3QzAwNzZFOTM3
IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5o
ICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFj
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUYyREJC
RTcxNzhFMzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLzsgfTsKKwkJNUZB
OTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2
IC8qIENlcnRpZmljYXRlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNCAvKiBKU0V2ZW50VGFyZ2V0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RkM3REMy
NkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovOyB9OworCQk1RkUxRDI5MjE3
OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8q
IFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlv
bi5jcHAgKi87IH07CiAJCTYyNkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2
Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMxMjEzMUVEMTAw
NTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2lu
Z0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtODY3NCw3ICs4Njc3LDEwIEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBFMzY3NiAvKiBT
eXN0ZW1WZXJzaW9uTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gU3lzdGVtVmVyc2lvbk1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURC
MUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNURCMUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZUxp
YnhzbHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhbnNmb3Jt
U291cmNlTGlieHNsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU3
MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm9NYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZp
Y2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2VydGlmaWNhdGVJ
bmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4
NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGRTFEMjkx
MTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9
IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4uLy4uLy4uL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0MjRDMDAxRTVBNjgg
LyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI4RDIx
NEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMzUyNCw2ICsxMzUzMCw3IEBACiAJCQlpc2EgPSBQQlhGcmFtZXdvcmtz
QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9
ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8qIEFjY2VsZXJh
dGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMwODI0NUU1OTAwMUU5
QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJ
CQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLywKQEAgLTEzODczLDYgKzEzODgwLDcgQEAKIAkJMDg2N0Q2OTFGRTg0MDI4
RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29y
ayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggKi8sCiAJCQkJ
RURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywKIAkJCQk5MzA3
MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywKQEAgLTE1NDMw
LDYgKzE1NDM4LDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIzNEUwMDdF
RjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIzNEUwMDdF
RjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFODE3OEUzMzY5MDAx
NDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCisJCQkJNUYyREJCRTcxNzhFMzMyRDAwMTQx
NDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLywKIAkJCQlFMTQyNEM4RjE2NEI0NjBCMDBG
MzJENDAgLyogQ29va2llSmFyTWFjLm1tICovLAogCQkJCUUxM0YwMUYwMTI3MEUxOTAwMERGQkE3
MSAvKiBDb29raWVTdG9yYWdlTWFjLm1tICovLAogCQkJCUUxQjRDRDI0MTBCMzIyRTIwMEJGRkQ3
RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLywKQEAgLTI0MTMxLDYgKzI0MTQxLDcgQEAK
IAkJCQkwRjEzMTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1DQUZpbHRlcnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0Zm9ybUNBTGF5
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0
Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTVGQTkwNENBMTc4RTYxRjUw
MDRDOEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTA3QzU5QjU0
MTdGNEFDMTUwMDBGQkNCQiAvKiBBdWRpb1N0cmVhbVRyYWNrLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9ybUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTI4MzA5LDYgKzI4MzIwLDcgQEAKIAkJCQk5NzdFMkUwRTEyRjBG
QzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUxNzJBRjhGMTgxMUJDMzcwMEZCQURCOSAvKiBKU0RPTVByb21pc2UuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9N
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyogVXBT
YW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4MzZBOCAv
KiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVFMDA4
MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mby5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM4YjNjZGFhYmQ2YjY4NTQ5YWI2MTg5OTE1M2U4M2IxYzQ5YjE0MmIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUlu
Zm8uaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDZXJ0aWZpY2F0ZUlu
Zm9faAorI2RlZmluZSBDZXJ0aWZpY2F0ZUluZm9faAorCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZVJlc3BvbnNlLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIENlcnRpZmljYXRlSW5mbyB7CitwdWJsaWM6CisgICAgQ2VydGlm
aWNhdGVJbmZvKCk7CisgICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmKTsKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0
aWZpY2F0ZUNoYWluKTsKKworICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVDaGFpbihDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4pIHsgbV9jZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVDaGFp
bjsgfQorICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1f
Y2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQorCisjaWZuZGVmIE5ERUJVRworICAgIHZvaWQgZHVt
cCgpIGNvbnN0OworI2VuZGlmCisKK3ByaXZhdGU6CisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+
IG1fY2VydGlmaWNhdGVDaGFpbjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDNj
OWNjMzcyNmViOGE5OGNjNWYwZWM4ZGJlYmM2YjU2MWY4M2U0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1t
CkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBv
cnQgIkNlcnRpZmljYXRlSW5mby5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NlcnRpZmlj
YXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjpDZXJ0
aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCisgICAgOiBtX2Nl
cnRpZmljYXRlQ2hhaW4ocmVzcG9uc2UuY2VydGlmaWNhdGVDaGFpbigpKQoreworfQorCitDZXJ0
aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4p
CisgICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKK3sKK30KKworI2lm
bmRlZiBOREVCVUcKK3ZvaWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKK3sKKyAgICB1
bnNpZ25lZCBlbnRyaWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1f
Y2VydGlmaWNhdGVDaGFpbi5nZXQoKSkgOiAwOworCisgICAgTlNMb2coQCJDZXJ0aWZpY2F0ZUlu
Zm9cbiIpOworICAgIE5TTG9nKEAiICBFbnRyaWVzOiAlZFxuIiwgZW50cmllcyk7CisgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudHJpZXM7ICsraSkgeworICAgICAgICBSZXRhaW5QdHI8
Q0ZTdHJpbmdSZWY+IHN1bW1hcnkgPSBhZG9wdENGKFNlY0NlcnRpZmljYXRlQ29weVN1YmplY3RT
dW1tYXJ5KChTZWNDZXJ0aWZpY2F0ZVJlZilDRkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2VydGlm
aWNhdGVDaGFpbi5nZXQoKSwgaSkpKTsKKyAgICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3RyaW5n
ICopc3VtbWFyeS5nZXQoKSk7CisgICAgfQorfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9D
ZXJ0aWZpY2F0ZUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0NlcnRpZmljYXRlSW5mby5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDVmYWU0ZGJmMzEwMjViMTk0YmY1ODA5
ZGFmYWZjMzkwMmVmZTlkOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgorCisjaW5jbHVkZSA8UmVz
b3VyY2VFcnJvci5oPgorI2luY2x1ZGUgPFJlc291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDxs
aWJzb3VwL3NvdXAuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDZXJ0aWZpY2F0ZUluZm86
OkNlcnRpZmljYXRlSW5mbygpCisgICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2Vy
dGlmaWNhdGVGbGFncz4oMCkpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQorICAgIDogbV9jZXJ0aWZpY2F0
ZShyZXNwb25zZS5zb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkpCisgICAgLCBtX3Rsc0Vycm9ycyhy
ZXNwb25zZS5zb3VwTWVzc2FnZVRMU0Vycm9ycygpKQoreworfQorCitDZXJ0aWZpY2F0ZUluZm86
OkNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQorICAg
IDogbV9jZXJ0aWZpY2F0ZShyZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlKCkpCisgICAgLCBtX3Rs
c0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50
bHNFcnJvcnMoKSkpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKEdU
bHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUsIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9y
cykKKyAgICA6IG1fY2VydGlmaWNhdGUoY2VydGlmaWNhdGUpCisgICAgLCBtX3Rsc0Vycm9ycyh0
bHNFcnJvcnMpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NGU0
ZmY1ODU1MDg3NThlNTBiYTkyNWY1NzVkMWI5NWIyZGZlODBjCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5oCkBA
IC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xh
IE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IENlcnRpZmljYXRlSW5mb19oCisjZGVmaW5lIENlcnRpZmljYXRlSW5mb19oCisKKyNpbmNsdWRl
IDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNl
UmVzcG9uc2U7CisKK2NsYXNzIENlcnRpZmljYXRlSW5mbyB7CitwdWJsaWM6CisgICAgQ2VydGlm
aWNhdGVJbmZvKCk7CisgICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmKTsKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOworICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhH
VGxzQ2VydGlmaWNhdGUqLCBHVGxzQ2VydGlmaWNhdGVGbGFncyk7CisgICAgfkNlcnRpZmljYXRl
SW5mbygpOworCisgICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHND
ZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9
CisgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90
bHNFcnJvcnM7IH0KKyAgICB2b2lkIHNldFRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0
bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KKworcHJpdmF0ZToKKyAgICBH
UmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKKyAgICBHVGxzQ2VydGlmaWNh
dGVGbGFncyBtX3Rsc0Vycm9yczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIENlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCA5ZDE1ODVlYmMwZDFlOTI4MTU1MGI3ODM3OGIzNTQ0ZTA1NDdmOTY1Li5lMTJmZjI5N2VhNWNm
ZDMyMWE3OGZiOWEzZTM2ZmE2NWYzZGRlOTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTQ4MSw4ICs0ODEsNiBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRp
c3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmgg
XAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAotCVNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAogCVNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKQEAgLTEzNjUsOCAr
MTM2Myw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgXAotCVNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGll
bnQuY3BwCmluZGV4IGM1NDNhM2VlMGVmMzQ2YzZlMDk1ZmM2MDVmNWMxMDkyYzFhMzU2YzcuLmQx
YzkzZDQzZGMzOTc0NjYwOGYyMDRlN2RjZjljODI5Y2E4Y2YzY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdv
cmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmgiCiAKLSNpbmNs
dWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5j
bHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCmluZGV4IDg1YjU2Zjg4MjgxZmMwOTgwMmY0ZjZjZGRhMmJkNTU5NjFmNDY3
MGIuLjZhOTNkODA3ODMxNDNlYTdmNGMyZWJmMzQyOGNkNmViYjk0MzhiMTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMzUsMTAgKzM1
LDEyIEBACiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKLW5hbWVzcGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworfQogCituYW1lc3BhY2UgV2ViS2l0IHsKIGNs
YXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNz
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBw
bGVtZW50Owogc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtMTA0
LDcgKzEwNiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZFJlcXVlc3QodWludDY0X3Qg
ZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdm9pZCBj
YW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lkIHNldENhY2hlTW9k
ZWwodWludDMyX3QpOwotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JI
b3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9p
ZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGdldE5ldHdvcmtQ
cm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGNsZWFyQ2Fj
aGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IGY5NjRhN2ZkNDYxMjE2Y2NjNjlhODFjNzRjMjViNDZhOTQxM2M3MDQuLjMyYmNlMDVi
OGNiNTBlMGU2MjA3YTlhOGFjMGRjMTcwMjRjNDQ1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0z
OSw3ICszOSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNlbmRpZgogCi0g
ICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNI
VFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNh
dGUsIFdURjo6U3RyaW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0
aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA0MzJlYzc2
Y2YzYWVmOWNmM2Y3Yjg4MzYxMDlmNDY2ZmZiZDFjMmQ3Li4yZjhhNDlmODgzYTE5ODNkMjczMDBh
NWE0Y2EyMDRhZmIwMzUxMTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKIAog
I2luY2x1ZGUgIkFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJB
dXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNp
bmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtCbG9iUmVnaXN0cnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQppbmRleCAxM2RjNGM5YzdjMjQ5ODc0
YjMzMjA3ZTNlODgwNDMyYTFlMTVkMmRhLi4wMDQ3OGVhNThjMjJkZWNlNDk1NTIxYjRkOTYwZGRj
Y2NiMzQ5ODJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMv
TmV0d29ya1Byb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
bWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCkBAIC0yOCwxMyArMjgsMTMgQEAKIAogI2lmIEVOQUJM
RShORVRXT1JLX1BST0NFU1MpCiAKLSNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9y
dCAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtS
ZXNvdXJjZUxvYWRlci5oIgogI2ltcG9ydCAiUmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1w
b3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKKyNpbXBvcnQgPFdlYkNv
cmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNp
bXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVt
SW50ZXJmYWNlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFr
ZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDZkM2U3MTJiMWQ3ZDIw
YzQ3YzhmMjY5MjIyYzQwMDQ4ZTZiMWNlM2QuLmU3MjY4NTg1MjAyODkwYzU3MWJiN2RjM2E2MzMx
MzAwMWMxMDQ5NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC00OSw3ICs0OSw2IEBA
IGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxs
UG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIFNo
YXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCiAKICAgICBVSVByb2Nlc3Mv
RGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAx
YjFjNTU0MDUwM2NiNzI3NTlkZTJhNDkzMWMxODdiNGM1NzZlYWE2Li40ZDgxNzY2NzY0N2Y1YzEz
YzEzYmFhZTFjOWQxMWZkNTY5NjY0MzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAt
NjEsNyArNjEsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGlu
dXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZp
bHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5m
by5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAg
ICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4
IDMyZWMwZjQ2ZTlkMGNjZTEyZjc3ZDI3OGIzODhiNzdmZmZmMmZhNjMuLjMyZmEyMWZlMmViZmYz
NmIwYTIxYTY5OGEwMWEwZDNmZWU2ZDE4MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAtMjksNiArMjks
NyBAQAogI2ltcG9ydCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJXZWJDZXJ0aWZpY2F0ZUluZm8u
aCIKIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owog
CiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0Zmlj
YXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5oCmluZGV4IDRmNjVlOWY2Nzg5ODdkMDQ3OTQzMDk5OTFlZTg1ZjRkMTU2MzM4MDkuLjQ5NzU5
ODY3YWNmYzRlMjhjZjY2YWE3NGQxNWQ0YjU0NjQ4ODJmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5h
Z2VyLmgKQEAgLTM0LDEzICszNCwxMyBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKLSAg
ICBjbGFzcyBDcmVkZW50aWFsOworY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFz
cyBDZXJ0aWZpY2F0ZUluZm87CitjbGFzcyBDcmVkZW50aWFsOwogfQogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgQ2hpbGRQcm9jZXNzOwogY2xh
c3MgRG93bmxvYWQ7CiBjbGFzcyBXZWJGcmFtZTsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgog
ICAgIC8vIENhbGxlZCBmb3IgZG93bmxvYWRzIHdpdGggb3Igd2l0aG91dCB0aGUgTmV0d29ya1By
b2Nlc3MKICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3dubG9h
ZCosIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKLSAgICB2b2lk
IHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdl
YkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVz
ZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNv
cmU6OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2
b2lkIGNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxl
bmdlSUQpOwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsK
ICAgICAKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNzYWdl
UmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBib29s
IHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5
VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAKICAgICB1
aW50NjRfdCBlc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
Lm1lc3NhZ2VzLmluCmluZGV4IGRhMTNmMzQzNWZhZmJkZTA3ZTYxZTk4ODE3ODlhZTFhMzZmYTNi
NWIuLjM0ZGI5YjIwOGJmMWZkMTczZDgxYTQ2Yzc2ZjhmODY0NmRmM2Q1ZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBBdXRoZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZv
aWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29y
ZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxs
ZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhvdXRDcmVkZW50aWFs
Rm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIENhbmNlbENoYWxs
ZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5tYWMubW0KaW5kZXggYTg2MThjZGE2OWU3OTllNjkzN2E4NGViOTkzZGVmN2RiOGU4
ZjAyOC4uOGI2ZDcxMzQ5NzhiMDU1MWEwZDQxMDJjY2RlNjYyZjc0MDAzNjg1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlv
bk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAtMjgsOSArMjgsOSBAQAogCiAj
aWYgVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5o
IgogI2luY2x1ZGUgPFNlY3VyaXR5L1NlY0lkZW50aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmluZGV4IDViZDM3ZjUyYzhmODNlYzliNThkYTA5ZWI3YzNh
MGU2ZmRhM2I4MTIuLjc4OGZlZDgyMjUxMzZiYmE5MTY3YzRlZmVmYzVjM2UyYjg4ODBlYjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCkBAIC01MDQsNyArNTA0
LDcgQEAgcHVibGljOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBBUEk6Ok9iamVjdDo6VHlwZTo6Q2VydGlmaWNhdGVJbmZvOiB7Ci0gICAgICAgICAgICBDZXJ0
aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAgICAgICAgICAgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShjZXJ0aWZp
Y2F0ZUluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmlj
YXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCmlu
ZGV4IGU5MDFkMzA5YWVkNGYwNzhiZWJiMTY5ZDZkODA4YTMxYzY5Y2Y5NDIuLmZlY2I5NGJhNTY2
MGNlNDViODE3YjU0ZTQ3NGQyMTNiNmFjODVkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTI3LDI3ICsyNywyNyBAQAogI2RlZmluZSBXZWJDZXJ0
aWZpY2F0ZUluZm9faAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSAiQ2VydGlm
aWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2Vi
Q2VydGlmaWNhdGVJbmZvIDogcHVibGljIEFQSTo6VHlwZWRPYmplY3Q8QVBJOjpPYmplY3Q6OlR5
cGU6OkNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdl
YkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IENlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFdlYkNlcnRpZmljYXRlSW5mbyhpbmZvKSk7CiAgICAgfQogCi0gICAgY29uc3QgQ2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmlj
YXRlSW5mbzsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KIAogcHJpdmF0ZToK
LSAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBp
bmZvKQorICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgICAgIDogbV9jZXJ0aWZpY2F0ZUluZm8oaW5mbykKICAg
ICB7CiAgICAgfQogCi0gICAgQ2VydGlmaWNhdGVJbmZvIG1fY2VydGlmaWNhdGVJbmZvOworICAg
IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcAppbmRleCBlNTBhNThhMTQ1ZjhhZjRmODRjODcxMjgxYTBlNDRiYzE4ODE0
MmQ0Li4xNWM2ZjZlM2ZhZjdmMjFlODk1YzA1NTVlMmVlYzhmNzI1MTU2MWQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNh
dGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0NyZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpAQCAtOTEsNiArOTIs
MjIgQEAgYm9vbCBBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0cml4Pjo6ZGVjb2RlKEFy
Z3VtZW50RGVjb2RlciYgZGVjb2RlciwgVHJhbnMKICAgICByZXR1cm4gU2ltcGxlQXJndW1lbnRD
b2RlcjxUcmFuc2Zvcm1hdGlvbk1hdHJpeD46OmRlY29kZShkZWNvZGVyLCB0cmFuc2Zvcm1hdGlv
bk1hdHJpeCk7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNv
ZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKK3sKKyAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgY2VydGlmaWNh
dGVJbmZvKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29k
ZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvKQoreworICAgIENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZTsKKworICAgIGlmICghZGVj
b2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIGNlcnRpZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgY2VydGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGU7CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KIAogdm9pZCBBcmd1bWVudENvZGVyPEZsb2F0UG9pbnQ+OjplbmNvZGUoQXJndW1l
bnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGbG9hdFBvaW50JiBmbG9hdFBvaW50KQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDVkOTgw
NTI3YjJlOGZkNmNjN2Y4MDZhMWNhNDc0ZDQ3ZmI3OTJhMDEuLjIzNGQwNWM4OThhYzQzYWY3MDVh
MzgyOTMwZmM4Mjg1ZGM0MDAwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwor
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgQ29sb3I7CiBjbGFzcyBDcmVkZW50aWFsOwog
Y2xhc3MgQ3Vyc29yOwpAQCAtMTAzLDYgKzEwNCwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1
bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4PiB7CiAgICAgc3RhdGljIGJv
b2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4
Jik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBj
b25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
QXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGlj
IHZvaWQgZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShB
cmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKK307CisKIHRlbXBs
YXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRQb2ludD4gewogICAgIHN0
YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBv
aW50Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6
OkZsb2F0UG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2Vy
dGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5m
by5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZGRjNzUxMmMwYmNlNjJkYTk1OTkw
YTc1MmIzZDBmNThjNjljNDQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDZXJ0aWZp
Y2F0ZUluZm9faAotI2RlZmluZSBDZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgotCi1uYW1l
c3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERlY29kZXI7Ci1jbGFzcyBBcmd1bWVudEVu
Y29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBDZXJ0aWZpY2F0ZUluZm8g
ewotcHVibGljOgotICAgIENlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IENlcnRpZmlj
YXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgZXhwbGljaXQg
Q2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbik7Ci0KLSAgICBDRkFy
cmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlQ2hh
aW4uZ2V0KCk7IH0KLQotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYp
IGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIm
LCBDZXJ0aWZpY2F0ZUluZm8mKTsKLQotI2lmbmRlZiBOREVCVUcKLSAgICB2b2lkIGR1bXAoKSBj
b25zdDsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBtX2Nl
cnRpZmljYXRlQ2hhaW47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IENlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L0NlcnRpZmljYXRlSW5mby5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNh
dGVJbmZvLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNjBlYWI2YzYzMDQxZDY5
NGU4YTVlMzI3NjA3MGM1Yzk1ZTgxOWY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZv
Lm1tCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQg
ImNvbmZpZy5oIgotI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgiCi0KLSNpbXBvcnQgIkFyZ3Vt
ZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2ltcG9ydCAiQXJn
dW1lbnRFbmNvZGVyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2Ug
V2ViS2l0IHsKLQotQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQotewotfQotCi1D
ZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25zZS5jZXJ0aWZpY2F0ZUNo
YWluKCkpCi17Ci19Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKENGQXJyYXlS
ZWYgY2VydGlmaWNhdGVDaGFpbikKLSAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0
ZUNoYWluKQotewotfQotCi12b2lkIENlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVD
aGFpbikgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBt
X2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOwotfQotCi1ib29sIENlcnRpZmljYXRlSW5mbzo6ZGVj
b2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBj
KQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKLSAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBp
ZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYg
KCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgYy5tX2NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotI2lmbmRlZiBOREVCVUcK
LXZvaWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKLXsKLSAgICB1bnNpZ25lZCBlbnRy
aWVzID0gbV9jZXJ0aWZpY2F0ZUNoYWluID8gQ0ZBcnJheUdldENvdW50KG1fY2VydGlmaWNhdGVD
aGFpbi5nZXQoKSkgOiAwOwotCi0gICAgTlNMb2coQCJDZXJ0aWZpY2F0ZUluZm9cbiIpOwotICAg
IE5TTG9nKEAiICBFbnRyaWVzOiAlZFxuIiwgZW50cmllcyk7Ci0gICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGVudHJpZXM7ICsraSkgewotICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+
IHN1bW1hcnkgPSBhZG9wdENGKFNlY0NlcnRpZmljYXRlQ29weVN1YmplY3RTdW1tYXJ5KChTZWND
ZXJ0aWZpY2F0ZVJlZilDRkFycmF5R2V0VmFsdWVBdEluZGV4KG1fY2VydGlmaWNhdGVDaGFpbi5n
ZXQoKSwgaSkpKTsKLSAgICAgICAgTlNMb2coQCIgICVAIiwgKE5TU3RyaW5nICopc3VtbWFyeS5n
ZXQoKSk7Ci0gICAgfQotfQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5t
bQppbmRleCBjZTljMDZkZTYzYWM1NjBkNTdmNjBiZjc5OWViYjUyNGJkZWRmYzIzLi5lNmU5MjM4
N2ZjNzFlYzNhZjhiOTk0MzgyODkwZjE2YzBhYmQwOGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQpAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMTQgKzI5
LDEzIEBACiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKICNpbXBvcnQgIkRhdGFSZWZl
cmVuY2UuaCIKLSNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiV2ViS2l0U3lz
dGVtSW50ZXJmYWNlLmgiCisjaW1wb3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2lt
cG9ydCA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNl
RXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENv
cmVJUEMgewogCkBAIC0xMzQsNiArMTM0LDM2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJj
ZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+
OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0
aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDRkFycmF5UmVmIGNlcnRpZmlj
YXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpOworICAgIGlmICgh
Y2VydGlmaWNhdGVDaGFpbikgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIENvcmVJUEM6OmVuY29k
ZShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENl
cnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29k
ZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2Vy
dGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hh
aW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hh
aW4pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGNl
cnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgY2VydGlm
aWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5m
by5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpOworCisgICAgcmV0
dXJuIHRydWU7Cit9CisKIHN0YXRpYyBOU1N0cmluZyogbnNTdHJpbmcoY29uc3QgU3RyaW5nJiBz
dHJpbmcpCiB7CiAgICAgcmV0dXJuIHN0cmluZy5pbXBsKCkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0
aENoYXJhY3RlcnM6cmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4oc3RyaW5nLmNoYXJh
Y3RlcnMoKSkgbGVuZ3RoOnN0cmluZy5sZW5ndGgoKV0gOiBAIiI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOWU5MjUxODIyZGY0YTM2ZjkxYTRlOWE2MDkzNGU2ZDEyOTg2NTFlYy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTE2ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgotCi0jaW5j
bHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCi0j
aW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJv
ci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPGxp
YnNvdXAvc291cC5oPgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdl
YktpdCB7Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKLSAgICA6IG1fdGxz
RXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKLXsKLX0KLQotQ2Vy
dGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlKHJlc3BvbnNlLnNvdXBNZXNzYWdlQ2VydGlmaWNh
dGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHJlc3BvbnNlLnNvdXBNZXNzYWdlVExTRXJyb3JzKCkp
Ci17Ci19Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNl
RXJyb3ImIHJlc291cmNlRXJyb3IpCi0gICAgOiBtX2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3Iu
Y2VydGlmaWNhdGUoKSkKLSAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzPihyZXNvdXJjZUVycm9yLnRsc0Vycm9ycygpKSkKLXsKLX0KLQotQ2VydGlmaWNh
dGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSwgR1Rs
c0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKQotICAgIDogbV9jZXJ0aWZpY2F0ZShjZXJ0aWZp
Y2F0ZSkKLSAgICAsIG1fdGxzRXJyb3JzKHRsc0Vycm9ycykKLXsKLX0KLQotQ2VydGlmaWNhdGVJ
bmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotdm9pZCBDZXJ0aWZpY2F0ZUluZm86OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYg
KCFtX2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwotICAg
IGdfb2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmljYXRl
IiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsK
LSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0g
YWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxl
bmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBj
ZXJ0aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
bV90bHNFcnJvcnMpOwotfQotCi1ib29sIENlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUlu
Zm8pCi17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc0NlcnRpZmljYXRlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXND
ZXJ0aWZpY2F0ZSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDb3JlSVBDOjpEYXRhUmVm
ZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
VmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19i
eXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAg
ICBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwg
Y2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNl
LnNpemUoKSk7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1Jl
ZihjZXJ0aWZpY2F0ZURhdGEpOwotCi0gICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19i
YWNrZW5kX2dldF9kZWZhdWx0KCk7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fY2VydGlmaWNhdGUg
PSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoCi0gICAgICAgIGdf
dGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsICJjZXJ0aWZp
Y2F0ZSIsIGNlcnRpZmljYXRlLmdldCgpLCBudWxscHRyKSkpOwotCi0gICAgdWludDMyX3QgdGxz
RXJyb3JzOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGNlcnRpZmljYXRlSW5mby5tX3Rsc0Vycm9ycyA9IHN0YXRpY19jYXN0
PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9D
ZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWI1NThhYTE4
MjFlODE4MjNmZGFkOTk2ZmM0ZDlhMjE4MmRkMDhlMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZp
Y2F0ZUluZm8uaAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogUG9ydGlvbnMg
Q29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIENl
cnRpZmljYXRlSW5mb19oCi0KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNsdWRlIDx3
dGYvZ29iamVjdC9HUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIEFyZ3Vt
ZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotY2xhc3MgUmVzb3VyY2VFcnJvcjsKLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci19Ci0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBDZXJ0aWZpY2F0ZUluZm8gewotcHVibGljOgot
ICAgIENlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJ
bmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKLSAgICBleHBsaWNpdCBDZXJ0aWZp
Y2F0ZUluZm8oR1Rsc0NlcnRpZmljYXRlKiwgR1Rsc0NlcnRpZmljYXRlRmxhZ3MpOwotICAgIH5D
ZXJ0aWZpY2F0ZUluZm8oKTsKLQotICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBj
b25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgR1Rsc0NlcnRpZmljYXRl
RmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLQotICAgIHZv
aWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBi
b29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBDZXJ0aWZpY2F0ZUluZm8mKTsK
LQotcHJpdmF0ZToKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsK
LSAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBtX3Rsc0Vycm9yczsKLX07Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYktpdAotCi0jZW5kaWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAK
aW5kZXggNTRjOTVmNWIwNDU1MjhkZTRmNTM4Y2Y2OTRhYWQ5MWJlODRjY2ZjMy4uMDdjZDEzNjY0
YzUxMWZhOWY4M2E4MzEwODFkNzlmYWQxMjk4YTE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEs
NiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2Jp
bGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAo
YykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNs
dWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtNjcsNiArNjgsNTUgQEAgYm9vbCBBcmd1bWVu
dENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPENl
cnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGlmICgh
Y2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRl
RGF0YSA9IDA7CisgICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKGNlcnRpZmljYXRlSW5mby5jZXJ0
aWZpY2F0ZSgpKSwgImNlcnRpZmljYXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7CisgICAg
aWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBHUmVmUHRyPEdC
eXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7CisgICAg
ZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7CisgICAgZW5jb2RlciA8
PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpKTsKK30K
KworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0
YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShoYXNDZXJ0aWZpY2F0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghaGFz
Q2VydGlmaWNhdGUpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgQ29yZUlQQzo6RGF0YVJl
ZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdf
Ynl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7Cisg
ICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEs
IGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5j
ZS5zaXplKCkpOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGVCeXRlcyA9IGFk
b3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworCisgICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBn
X3Rsc19iYWNrZW5kX2dldF9kZWZhdWx0KCk7CisgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+
IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3
KAorICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAw
LCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVzLmdldCgpLCBudWxscHRyKSkpOwor
ICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZS5nZXQoKSk7CisK
KyAgICB1aW50MzJfdCB0bHNFcnJvcnM7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0bHNFcnJv
cnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vy
cm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7CisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KIAogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+Ojpl
bmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJj
ZUVycm9yJiByZXNvdXJjZUVycm9yKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oCmlu
ZGV4IDZmZGIyNGY2OWJkZTQ4ZTEwOTBlMjdmZTA5ZmQ2Njc2MDM4MjcxNjkuLmFiM2YxZWYzOTRj
OGUyZGZiMTRkNTRiOWEwMTNmZjFjMzcwZTk1YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2
YXRlLmgKQEAgLTIwLDkgKzIwLDkgQEAKICNpZm5kZWYgV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJp
dmF0ZV9oCiAjZGVmaW5lIFdlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGVfaAogCi0jaW5jbHVk
ZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q2VydGlmaWNhdGVJbmZvLmgi
CiAjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNh
dGVJbmZvLmg+CiAKIHN0cnVjdCBfV2ViS2l0Q2VydGlmaWNhdGVJbmZvIHsKICAgICBfV2ViS2l0
Q2VydGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUsIEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHRsc0Vycm9ycykKQEAgLTM1LDkgKzM1LDkgQEAgc3RydWN0IF9XZWJLaXRDZXJ0
aWZpY2F0ZUluZm8gewogICAgIHsKICAgICB9CiAKLSAgICBXZWJLaXQ6OkNlcnRpZmljYXRlSW5m
byBjZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmlj
YXRlSW5mbzsKIH07CiAKLWNvbnN0IFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvJiB3ZWJraXRDZXJ0
aWZpY2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUluZm8oV2ViS2l0Q2VydGlmaWNhdGVJbmZvKik7Citj
b25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIHdlYmtpdENlcnRpZmljYXRlSW5mb0dldENl
cnRpZmljYXRlSW5mbyhXZWJLaXRDZXJ0aWZpY2F0ZUluZm8qKTsKIAogI2VuZGlmIC8vIFdlYktp
dENlcnRpZmljYXRlSW5mb1ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBlYTQyNWNiYjdiODU1Y2U1Nzc0MDE5
NzRlOGUyYjAyOTUyMTk2MzViLi41M2M2NmQ5NGMwODM3OGU4ZTQzN2FiNmMwYmUxODNmZjMxZWQ4
ZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdFdlYlZpZXcuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2lu
Y2x1ZGUgIkltYWdlT3B0aW9ucy5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIgpAQCAtNjAsNiArNTksNyBAQAogI2luY2x1
ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2luZG93UHJvcGVy
dGllc1ByaXZhdGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdJ
Y29uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3duUHRyR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9HT3duUHRyU291cC5oPgpAQCAtMzAyOCw3ICszMDI4LDcgQEAgZ2Jvb2xlYW4gd2Via2l0X3dl
Yl92aWV3X2dldF90bHNfaW5mbyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHVGxzQ2VydGlmaWNh
dGUqKgogICAgIGlmICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm4gRkFMU0U7CiAKLSAgICBj
b25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlm
aWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8o
KS0+Y2VydGlmaWNhdGVJbmZvKCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2Vy
dGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3Jz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDhk
MjBjNzY2OGUyNWU1NWNiYzhlOTFhYzEwNzE5ZmVjNzYzNzQ3ZTMuLmQ1NTczZGFjYTgzMmRkZWVl
NDYxY2YxYjMxMWYyMTdmYzMyODA2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25D
aGFsbGVuZ2VQcm94eS5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAg
ICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2Vy
OjpDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAw
KTsKICAgICBlbHNlIHsKICAgICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUlu
Zm8gPSBjcmVkZW50aWFsLT5jZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgQ2VydGlmaWNhdGVJ
bmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+Y2Vy
dGlmaWNhdGVJbmZvKCkgOiBDZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRl
SW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKTsKICAg
ICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6
OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlhbC0+Y29y
ZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJGcmFtZVByb3h5LmNwcAppbmRleCA2NzNlN2VjOThhMDQ0NTA0NzAyNDA0NWE2ZWIyYmZm
NzQ2OTBkZGM5Li4yZWYzYzU5Nzc2NmE3MTI5NjM5MmE0Y2MzNjgwNWZmYTY1NDZjOWI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCkBAIC0xMzEsNyArMTMx
LDcgQEAgdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCkKICAgICBt
X2ZyYW1lTG9hZFN0YXRlLmRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKIH0KIAotdm9pZCBXZWJG
cmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0
IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQordm9pZCBXZWJGcmFtZVByb3h5Ojpk
aWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQogewogICAgIG1fZnJhbWVMb2FkU3RhdGUu
ZGlkQ29tbWl0TG9hZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHku
aAppbmRleCA3Yjg1ZmYyMDM2MDJjYjVhY2IzMTQ2YTNmNzlhNTIzZDQ3MGQwOTg4Li43YWU5OTE4
ZjA5ZDdiNGI3MjY5MTQ2YWIyYjcxZjQyZTQxMmYzNGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTQwLDkgKzQwLDExIEBAIG5hbWVzcGFjZSBDb3JlSVBD
IHsKICAgICBjbGFzcyBDb25uZWN0aW9uOwogfQogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQorbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworfQorCituYW1lc3BhY2Ug
V2ViS2l0IHsKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFdlYkZvcm1TdWJtaXNz
aW9uTGlzdGVuZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTsKQEAg
LTk5LDcgKzEwMSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2Fk
KGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZv
clByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRGYWlsUHJv
dmlzaW9uYWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29u
dGVudFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgZGlkQ29tbWl0TG9h
ZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkKCk7
CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYpOyAvLyBl
Zy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBiNDE0NWE3NjYyZTcyMTRmYzQ2ZWJm
OGIwNTk2ZGU0MjcyYzk3MjUxLi5lYjM3NjUwZjRiYWJiMjQ5MWM2MDRiN2E3MzNkMDFiMDgzNGY4
MzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjE0
OCw3ICsyMTQ4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyTG9hZERlcGVuZGVudENhbGxi
YWNrcygpCiAgICAgfQogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZy
YW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IG9w
YXF1ZUZyYW1lTG9hZFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5Ojpk
aWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgdWludDMyX3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNv
ZGVyKQogewogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CiAgICAgV2ViQ29udGV4
dFVzZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2Rlcih1c2VyRGF0YSwgbV9wcm9jZXNzLmdl
dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBjMTE0YjI3
YTAwYTY3MTU1MGQyOTEyOTRjOGVmNWYzYTdiOThiYzhjLi40MDc4YjZhMGY1YzI4YjdjMTJlZTY0
MjFlNzYyZDZhMmQxOGY1NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC04NzcsNyArODc3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyYgdW5yZWFjaGFibGVVUkwsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAg
ICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2Rl
ciYpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVj
b2RlciYpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IENl
cnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRD
b21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZv
JiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQ
Qzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0
X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbgppbmRleCA4ODNiZjA1YmEwMjY1MTQyNTc5OWI1NTc0YjVlMWE4Yjg0OTcx
OGVkLi40NmRjY2Y2MGM4MzY4ZjliODM2OGFhN2JhNjE5MDA1ZThjOTcwYzEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTEx
Nyw3ICsxMTcsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERpZENyZWF0ZVN1
YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1lIGxvYWQgbWVzc2FnZXMKLSAg
ICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWlt
ZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRh
dGEpIFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNz
YWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5q
ZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlk
RmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJl
c291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29k
ZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rl
ciB1c2VyRGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OGVlYzFkY2FkNDM0ZjMxMjUxZDRjMDJjOWRjYjdk
ZjUyN2IyMTljLi4zYWZjMjIwNGJkMzhkOWNkY2RhZDNkYzNiODNhNDQ1MDBlYTM3NGZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xMTQ1LDggKzExNDUsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVN
b2RlbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRE
RTIzMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUw
MEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUx
NjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMg
LyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1
NUFFIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5m
by5oICovOyB9OwotCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZv
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1
RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsKIAkJQkNGNTA3
MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFF
IC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZDRDZGMDA0NzFB
NTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNs
aWVudC5jcHAgKi87IH07CiAJCUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0Y2OUY4NTExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICovOyB9OwpAQCAt
MjcyNSw4ICsyNzIzLDYgQEAKIAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9k
ZWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVNb2RlbC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRCRDUwMEM5NEFG
QyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3b3JrL05ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0
REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmlj
YXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDZXJ0aWZpY2F0ZUlu
Zm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1
NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkNGNTA2ODQxMjQzMTg2MTAwNTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3
b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9
OwogCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNlcnRpZmljYXRlSW5mby5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2Vi
SGlzdG9yeUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJIaXN0b3J5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2ODYs
OCArNDY4Miw2IEBACiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRU
eXBlcy5tbSAqLywKIAkJCQlFMTk1ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0
cy5oICovLAogCQkJCUUxOTU4MkQ0MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLm1t
ICovLAotCQkJCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAq
LywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tICov
LAogCQkJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm9NYWMubW0gKi8sCiAJ
CQkJMkQ0N0I1NkExODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1t
ICovLAogCQkJCTJENDdCNTZCMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZS5oICovLApAQCAtNTY4MCw3ICs1Njc0LDYgQEAKIAkJCQlDNTc0QTU4MTEyRTY2NjgxMDAy
REZFOTggLyogUGFzdGVib2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTk1ODJEMzE1
M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFG
Q0IxODkxN0JCRkUwMzAwMzk0Q0Q4IC8qIFN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmlj
YXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMDBENEYxODJENkY1MDAwMDg3REQ3IC8q
IFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
QzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJ
ZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKQEAgLTcwMDMsNyArNjk5Niw2IEBACiAJCQkJMkQy
QURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0gaW4g
U291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2luUGFz
c3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5N0U0
NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDRjUw
NUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAqLywK
IAkJCQlCQ0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJ
bkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
YTViODQ0OWM0NzcwNmRjZDU1ODY0MjVkNTAzY2QxN2IwZjRlM2RkOS4uYzdmYjRkN2U2ODE1OTY2
YTJmYzgyMTFmMWQ1YjZjODljNjcxNmY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogCi0jaW5jbHVkZSAiQ2VydGlmaWNh
dGVJbmZvLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKQEAgLTM2LDYgKzM1LDcg
QEAKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJFcnJv
cnMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VF
cnJvci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuaAppbmRleCBmZDJlZmEyYTk5ZTk5NjFmNWRiNTkxYzBlYzA5OGNlMzg1
NjI3NTMxLi5mNzQ1MjE5NWM0ODNhMzNjMGMyOTljNjM3ZDgyMTU5YTVmODBmZmEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9uU3Bh
Y2U7CiBjbGFzcyBSZXNvdXJjZUJ1ZmZlcjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01MCw3
ICs1MSw2IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
Ci1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiB0eXBlZGVmIHVpbnQ2NF90IFJlc291cmNlTG9hZElk
ZW50aWZpZXI7CiAKIGNsYXNzIFdlYlJlc291cmNlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlciB7CkBAIC03
Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JiByZWRpcmVjdFJlc3BvbnNlKTsKICAgICB2b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVz
U2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVS
ZXNwb25zZU1lc3NhZ2UpOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmlj
YXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVz
c2FnZSk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlJiwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9pZCBkaWRGaW5pc2hSZXNv
dXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpOwogICAgIHZvaWQgZGlkRmFpbFJlc291cmNlTG9h
ZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2Fn
ZXMuaW4KaW5kZXggOThhODc4ZmRmMDE1ZTE2MDQ5YTYxMDg3ZjkyYzM2Y2M2MDJmMWFkMS4uNGE2
MjA0MmM1NWQ1NDQyMGU4MDY1NjBmMmMwYmEzM2QzYmE5ODQzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5tZXNzYWdlcy5pbgpAQCAtMjksNyArMjksNyBAQCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxv
YWRlciBMZWdhY3lSZWNlaXZlciB7CiAgICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogV2Un
bGwgbmVlZCBtdWNoIG1vcmUgZ3JhbnVsYXJpdHkgZm9yIHJlc3BvbnNlIG1lc3NhZ2VzLgogICAg
IFdpbGxTZW5kUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlKQogICAgIERpZFNlbmREYXRhKHVp
bnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KQotICAgIERpZFJl
Y2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSByZXNwb25zZSwgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29s
IG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAgIERpZFJlY2VpdmVS
ZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNw
b25zZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVk
c0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0YShD
b3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAg
ICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZhaWxS
ZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKaW5kZXggYmUxNjdhMjZiY2Y1NzhmZTEzY2U3YWZiMDg4ZDNlYzRh
NmVhN2M5Ny4uNjgzNDg3MTI2MDUyYmMwMTAzMGRkMzgwNzQyMWUzNzM2NzUxZTJmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRl
ICJXZWJGcmFtZUxvYWRlckNsaWVudC5oIgogCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5h
Z2VyLmgiCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRC
dW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtLmgiCkBAIC01MSw2ICs1MCw3IEBACiAjaW5jbHVkZSAi
V2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElD
YXN0Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ2hyb21lLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9ET01XcmFwcGVyV29ybGQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Rv
Y3VtZW50TG9hZGVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4
IGNiNWQ4ZDRlNTNjZWI5MDgwNjE5ZmRlYWQ2NTU4MmU0N2FjYzg1YmIuLjkyMjBlZmQ4Y2ExNWFm
MWQ0NTkyZGVkODE0MWNlMzk3ZTVlOGNkMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCkBAIC01MSw2ICs1MSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBh
Z2VHcm91cDsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIHN0cnVjdCBQbHVnaW5JbmZvOworI2lm
ICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0UoU09VUCkKK2NsYXNzIENlcnRpZmljYXRl
SW5mbzsKKyNlbmRpZgogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTcyLDEwICs3NSw2IEBA
IHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogI2lmIEVOQUJMRShORVRXT1JL
X1BST0NFU1MpCiBjbGFzcyBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb247CiBjbGFzcyBXZWJSZXNv
dXJjZUxvYWRTY2hlZHVsZXI7Ci0jZWxzZQotI2lmIFVTRShTT1VQKQotY2xhc3MgQ2VydGlmaWNh
dGVJbmZvOwotI2VuZGlmCiAjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQpA
QCAtMTc0LDcgKzE3Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUFjdGl2ZVBhZ2VzKCk7
CiAKICNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykgJiYgVVNFKFNPVVApCi0gICAgdm9pZCBh
bGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZv
JiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRp
ZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJp
bmcmIGhvc3QpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggYTA5ZmY1NjBjNGRk
MTAzZTYzMTAxNGU4MDYxNmQ0MTk0YjZkODIyYi4uNzE4ZDhmYTc3OGU5MDFhZTg1ZDEzZTIxM2Rm
ZmFkNzIxMTlkYzZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbgpAQCAtODQsNiArODQsNiBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNz
IExlZ2FjeVJlY2VpdmVyIHsKICNlbmRpZgogCiAjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1Mp
ICYmIFVTRShTT1VQKQotICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChX
ZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKKyAg
ICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQogI2VuZGlmCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAppbmRleCBj
MGMyMDZjNTEyZjVlODZkNzY4ZjY3ZGNiN2YxNTE3ZWE3ZTlmNjFmLi42OTFkYjNhZGVmMTVmYzRl
YmM0Y2YwNjhkNDc2ZTJmOTVkZTlmNzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKQEAgLTIxMCw3ICsyMTAsNyBAQCB2b2lkIFdl
YlByb2Nlc3M6OnNldElnbm9yZVRMU0Vycm9ycyhib29sIGlnbm9yZVRMU0Vycm9ycykKIH0KIAog
I2lmICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotdm9pZCBXZWJQcm9jZXNzOjphbGxvd1NwZWNp
ZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZp
Y2F0ZUluZm8sIGNvbnN0IFN0cmluZyYgaG9zdCkKK3ZvaWQgV2ViUHJvY2Vzczo6YWxsb3dTcGVj
aWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCiB7CiAgICAgV2ViQ29yZTo6
UmVzb3VyY2VIYW5kbGU6OnNldENsaWVudENlcnRpZmljYXRlKGhvc3QsIGNlcnRpZmljYXRlSW5m
by5jZXJ0aWZpY2F0ZSgpKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218046</attachid>
            <date>2013-11-29 02:29:34 -0800</date>
            <delta_ts>2013-11-29 02:46:36 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>51412</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMDMzNDIyLi4yZTRiMDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTMtMTEtMjkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dh
bmcgWXVsIFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm86OnNldENlcnRpZmljYXRlQ2hhaW4pOiBBZGRlZCwgYmVjYXVzZSBXZWJDb3JlQXJndW1lbnRD
b2RlcnMgbmVlZHMgaXQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0
aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRp
ZmljYXRlSW5mbyk6IE1vdmVkIGVuY29kZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNh
dGVJbmZvKTogTW92ZWQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIHRvIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZp
Y2F0ZSk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVudENvZGVycyBuZWVkcyBpdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKTogQWRkZWQsIGJl
Y2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorCiAyMDEzLTExLTI4ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmVuYW1lIElu
bGluZUl0ZXJhdG9yOjptX29iaiBhbmQgbWFrZSBpdCBwcml2YXRlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCA4ODcxODM1Li45MTMxNjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTU0NzgsNiArNTQ3OCw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUu
aCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5m
by5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JTdG9yYWdlRGF0YS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Nvb2tpZVN0b3JhZ2UuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwIFwKQEAg
LTU1MTMsNiArNTUxNCw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVNvdXAuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21h
a2UKaW5kZXggMWU5OTU4OC4uNjFkNzlkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAg
LTE1Miw2ICsxNTIsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9y
bS9uZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZv
cm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
U3RvcmFnZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9y
YWdlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggNTU3Nzc0Mi4uOTkzYzI1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTE4Nyw2ICsxODcsNyBAQCBsaXN0KEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3JrL2d0ay9DcmVkZW50aWFs
QmFja2luZ1N0b3JlLmNwcAogCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlU291cC5jcHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNh
dGVJbmZvLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNwcAog
ICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdlU291cC5jcHAKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgppbmRleCAyYjhhNTQ4Li4wMWE0ZjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNjcs
NiArNjcsOSBAQCBfX1pOM1dURjEwU3RyaW5nSW1wbGN2UDhOU1N0cmluZ0V2CiBfX1pOM1dURjEy
QXRvbWljU3RyaW5nM2FkZEVQSzEwX19DRlN0cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUDhOU1N0
cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUEsxMF9fQ0ZTdHJpbmcKK19fWk43V2ViQ29yZTE1Q2Vy
dGlmaWNhdGVJbmZvQzFFUktOU18xNlJlc291cmNlUmVzcG9uc2VFCitfX1pON1dlYkNvcmUxNUNl
cnRpZmljYXRlSW5mb0MxRVBLOV9fQ0ZBcnJheQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUlu
Zm9DMUV2CiBfX1pON1dlYkNvcmUxMENsaWVudFJlY3RDMUVSS05TXzdJbnRSZWN0RQogX19aTjdX
ZWJDb3JlMTBDbGllbnRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlMTBDbGll
bnRSZWN0QzFFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDY1YTEwNjAuLmVmNWYyOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5NDgsNyArMTk0OCwxMCBA
QAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlOYW1lcy5oIGluIENv
cHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMuaCAqLzsgfTsKIAkJ
NURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQTBEMTVGNjQyMDBC
NzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURGRThGNTcwRDE2NDc3QzAw
NzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFj
dGlvbi5oICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLzsgfTsK
KwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2OTAw
MTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNCAvKiBKU0V2ZW50
VGFyZ2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovOyB9OworCQk1RkUx
RDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZFMUQyOTExNzhGRDFGMzAwMUFB
M0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1
QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2
aWdhdGlvbi5jcHAgKi87IH07CiAJCTYyNkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMxMjEz
MUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0
d29ya2luZ0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtODY4NSw3ICs4Njg4LDEwIEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBFMzY3
NiAvKiBTeXN0ZW1WZXJzaW9uTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gU3lzdGVtVmVyc2lvbk1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNv
dXJjZUxpYnhzbHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJh
bnNmb3JtU291cmNlTGlieHNsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVG
MkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm9NYWMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBD
ZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2VydGlm
aWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2Q0ZFMjU2
MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVG
RTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsg
bmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4uLy4uLy4uL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0MjRDMDAx
RTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMzUzMyw2ICsxMzUzOSw3IEBACiAJCQlpc2EgPSBQQlhGcmFt
ZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlm
aWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8qIEFj
Y2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMwODI0NUU1
OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzODk1LDYgKzEzOTAyLDcgQEAKIAkJMDg2N0Q2OTFG
RTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZy
YW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggKi8s
CiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywKIAkJ
CQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywKQEAg
LTE1NDU0LDYgKzE1NDYyLDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIz
NEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIz
NEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFODE3OEUz
MzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCisJCQkJNUYyREJCRTcxNzhFMzMy
RDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLywKIAkJCQlFMTQyNEM4RjE2NEI0
NjBCMDBGMzJENDAgLyogQ29va2llSmFyTWFjLm1tICovLAogCQkJCUUxM0YwMUYwMTI3MEUxOTAw
MERGQkE3MSAvKiBDb29raWVTdG9yYWdlTWFjLm1tICovLAogCQkJCUUxQjRDRDI0MTBCMzIyRTIw
MEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLywKQEAgLTI0MTU0LDYgKzI0MTY0
LDcgQEAKIAkJCQkwRjEzMTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1DQUZpbHRlcnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0Zm9y
bUNBTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4MSAv
KiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTVGQTkwNENBMTc4
RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTA3
QzU5QjU0MTdGNEFDMTUwMDBGQkNCQiAvKiBBdWRpb1N0cmVhbVRyYWNrLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9ybUV2
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4MzM0LDYgKzI4MzQ1LDcgQEAKIAkJCQk5NzdFMkUw
RTEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUUxNzJBRjhGMTgxMUJDMzcwMEZCQURCOSAvKiBKU0RPTVByb21pc2UuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0
ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTgg
LyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4
MzZBOCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4
QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggODIzNWJlNC4uODBkZjY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTEx
LTI5ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92
ZSBDZXJ0aWZpY2F0ZUluZm8gdG8gV2ViQ29yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0NzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQmFzZWQgb24gdGhlIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8g
PHNreXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50
LmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tOgorICAgICAgICAqIFBsYXRmb3Jt
RWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFNoYXJl
ZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW06CisgICAgICAgICogU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAg
ICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1t
OgorICAgICAgICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0
OjpVc2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJD
ZXJ0aWZpY2F0ZUluZm8uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpj
cmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OmNlcnRpZmljYXRl
SW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6V2ViQ2VydGlmaWNh
dGVJbmZvKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAg
ICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToK
KyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogU2hh
cmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW06CisgICAgICAgIChDb3JlSVBDOjo6
OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3Jt
RGF0YSk6CisgICAgICAgICogU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcDoKKyAgICAg
ICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAg
KENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVj
b2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0
aWZpY2F0ZUluZm9Qcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6
OnVzZUNyZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2Fk
Rm9yRnJhbWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KToKKwog
MjAxMy0xMS0yOSAgSHVuc2VvcCBKZW9uZyAgPGhzODUuamVvbmdAc2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgW0VGTF0gdmlld3BvcnQgbXVzdCBiZSBzYW1lIHdpdGggdGhlIHNpemUgb2Ygd2Vidmll
dwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggOWQxNTg1ZS4uZTEyZmYyOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00ODEsOCArNDgxLDYgQEAgd2Via2l0Ml9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Vzc2lvblN0YXRlLmggXAogCVNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9D
ZXJ0aWZpY2F0ZUluZm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZp
Y2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvU291cENvb2tpZVBlcnNp
c3RlbnRTdG9yYWdlVHlwZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1RleHRDaGVj
a2VyU3RhdGUuaCBcCkBAIC0xMzY1LDggKzEzNjMsNiBAQCB3ZWJraXQyX3BsdWdpbl9wcm9jZXNz
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvUHJvY2Vzc0V4ZWN1dGFi
bGVQYXRoR3RrLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9XZWJFdmVudEZhY3Rv
cnkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fp
cm8uY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3Bw
IFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwK
IAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0
d29ya0xvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3lu
Y2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcAppbmRleCBjNTQzYTNlLi5kMWM5M2Q0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3
b3JrTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9B
c3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcApAQCAtMjYsMTEgKzI2LDExIEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNs
aWVudC5oIgogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZGVyTWVz
c2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVy
Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCA4NWI1NmY4Li42YTkzZDgwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTM1
LDEwICszNSwxMiBAQAogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCi1uYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKK30KIAorbmFtZXNwYWNlIFdlYktp
dCB7CiBjbGFzcyBBdXRoZW50aWNhdGlvbk1hbmFnZXI7Ci1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87
CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKIGNsYXNzIE5ldHdvcmtQcm9j
ZXNzU3VwcGxlbWVudDsKIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsK
QEAgLTEwNCw3ICsxMDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0KHVp
bnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAg
IHZvaWQgY2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCk7CiAgICAgdm9pZCBzZXRD
YWNoZU1vZGVsKHVpbnQzMl90KTsKLSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOwor
ICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXRO
ZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBj
bGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbgppbmRleCBmOTY0YTdmLi4zMmJjZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzks
NyArMzksNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAg
ICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAg
IEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OkNlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKKyAgICBBbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRl
LCBXVEY6OlN0cmluZyBob3N0KQogICAgIAogICAgIEdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGlj
cyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNDMyZWM3Ni4u
MmY4YTQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJB
c3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiQXV0aGVudGljYXRp
b25NYW5hZ2VyLmgiCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrQmxv
YlJlZ2lzdHJ5LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9t
YWMvTmV0d29ya1Byb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9t
YWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KaW5kZXggMTNkYzRjOS4uMDA0NzhlYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01h
Yy5tbQpAQCAtMjgsMTMgKzI4LDEzIEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQog
Ci0jaW1wb3J0ICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIk5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKICNp
bXBvcnQgIlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lv
bi5oIgogI2ltcG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9y
dCAiU3RyaW5nVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5o
PgogI2ltcG9ydCA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2Fs
aXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybUVmbC5jbWFrZQppbmRleCA2ZDNlNzEyLi5lNzI2ODU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUVmbC5jbWFrZQpAQCAtNDksNyArNDksNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMK
ICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFyZWQv
bGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9zb3Vw
L0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMWIxYzU1NC4uNGQ4MTc2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm1HVEsuY21ha2UKQEAgLTYxLDcgKzYxLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VS
Q0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hh
cmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFyZWQv
c291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNh
dGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmlj
YXRlSW5mb01hYy5tbQppbmRleCAzMmVjMGY0Li4zMmZhMjFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAg
LTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgIldLQVBJQ2FzdC5oIgogI2ltcG9ydCAiV2ViQ2VydGlm
aWNhdGVJbmZvLmgiCiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNl
IFdlYktpdDsKIAogV0tDZXJ0aWZpY2F0ZUluZm9SZWYgV0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVX
aXRoQ2VydGZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1h
bmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIuaAppbmRleCA0ZjY1ZTlmLi40OTc1OTg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5oCkBAIC0zNCwxMyArMzQsMTMgQEAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7Ci0g
ICAgY2xhc3MgQ3JlZGVudGlhbDsKK2NsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOworY2xh
c3MgQ2VydGlmaWNhdGVJbmZvOworY2xhc3MgQ3JlZGVudGlhbDsKIH0KIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIENoaWxkUHJvY2VzczsKIGNs
YXNzIERvd25sb2FkOwogY2xhc3MgV2ViRnJhbWU7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoK
ICAgICAvLyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQ
cm9jZXNzCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxv
YWQqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAgdm9p
ZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBX
ZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCB1
c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJD
b3JlOjpDcmVkZW50aWFsJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAg
dm9pZCBjb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxs
ZW5nZUlEKTsKICAgICB2b2lkIGNhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7
CiAgICAgCkBAIC02OSw3ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgLy8gQ29yZUlQQzo6TWVzc2Fn
ZVJlY2VpdmVyCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNv
bm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCi0gICAgYm9v
bCB0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29sIHRy
eVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogCiAgICAg
dWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdl
ci5tZXNzYWdlcy5pbgppbmRleCBkYTEzZjM0Li4zNGRiOWIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50
aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAgICB2b2lkIFVzZUNy
ZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRl
bnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUpOwor
ICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwg
V2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8g
Y2VydGlmaWNhdGUpOwogICAgIHZvaWQgQ29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxs
ZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBDYW5jZWxDaGFsbGVuZ2UodWlu
dDY0X3QgY2hhbGxlbmdlSUQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
bWFjLm1tCmluZGV4IGE4NjE4Y2QuLjhiNmQ3MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0
aW9uTWFuYWdlci5tYWMubW0KQEAgLTI4LDkgKzI4LDkgQEAKIAogI2lmIFVTRShTRUNVUklUWV9G
UkFNRVdPUkspCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1
cml0eS9TZWNJZGVudGl0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Vz
ZXJNZXNzYWdlQ29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2Rl
cnMuaAppbmRleCA1YmQzN2Y1Li43ODhmZWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNl
ck1lc3NhZ2VDb2RlcnMuaApAQCAtNTA0LDcgKzUwNCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OkNlcnRp
ZmljYXRlSW5mbzogewotICAgICAgICAgICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5m
bzsKKyAgICAgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87
CiAgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2Vi
Q2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoY2VydGlmaWNhdGVJbmZvKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAppbmRleCBlOTAxZDMwLi5mZWNiOTRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywyNyArMjcs
MjcgQEAKICNkZWZpbmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQSU9iamVj
dC5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2Vy
dGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbyA6IHB1YmxpYyBBUEk6OlR5cGVk
T2JqZWN0PEFQSTo6T2JqZWN0OjpUeXBlOjpDZXJ0aWZpY2F0ZUluZm8+IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBDZXJ0
aWZpY2F0ZUluZm8mIGluZm8pCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJ
bmZvPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDZXJ0aWZpY2F0ZUluZm8oaW5mbykpOwog
ICAgIH0KIAotICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKCkgY29u
c3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KKyAgICBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNh
dGVJbmZvOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNv
bnN0IENlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgICAgICA6IG1fY2Vy
dGlmaWNhdGVJbmZvKGluZm8pCiAgICAgewogICAgIH0KIAotICAgIENlcnRpZmljYXRlSW5mbyBt
X2NlcnRpZmljYXRlSW5mbzsKKyAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZp
Y2F0ZUluZm87CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggZTUwYTU4YS4uMTVjNmY2
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29va2llLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9DcmVkZW50aWFsLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXJzb3IuaD4K
QEAgLTkxLDYgKzkyLDIyIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxUcmFuc2Zvcm1hdGlvbk1hdHJp
eD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFRyYW5zCiAgICAgcmV0dXJuIFNp
bXBsZUFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+OjpkZWNvZGUoZGVjb2Rlciwg
dHJhbnNmb3JtYXRpb25NYXRyaXgpOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNh
dGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQ2VydGlmaWNh
dGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgZW5jb2RlUGxhdGZvcm1EYXRhKGVuY29k
ZXIsIGNlcnRpZmljYXRlSW5mbyk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0
ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7CisK
KyAgICBpZiAoIWRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBjZXJ0aWZpY2F0ZSkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlOwor
CisgICAgcmV0dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxGbG9hdFBvaW50Pjo6
ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgRmxvYXRQb2ludCYgZmxvYXRQ
b2ludCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
aAppbmRleCA1ZDk4MDUyLi4yMzRkMDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZTsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIENvbG9yOwogY2xhc3MgQ3JlZGVudGlh
bDsKIGNsYXNzIEN1cnNvcjsKQEAgLTEwMyw2ICsxMDQsMTMgQEAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeD4gewogICAgIHN0YXRp
YyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpD
ZXJ0aWZpY2F0ZUluZm8+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0
YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGVQbGF0Zm9ybURh
dGEoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7Cit9OworCiB0
ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UG9pbnQ+IHsKICAg
ICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJD
b3JlOjpGbG9hdFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tCmluZGV4IGNlOWMwNmQuLmU2ZTkyMzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
TWFjLm1tCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAx
MDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0yOCwxNCArMjksMTMgQEAKIAogI2ltcG9ydCAiQXJndW1lbnRDb2RlcnNDRi5oIgog
I2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgotI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgiCiAj
aW1wb3J0ICJXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVl
c3QuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTEzNCw2ICsxMzQsMzYgQEAgYm9vbCBBcmd1
bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVy
PENlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIENG
QXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZUNo
YWluKCk7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZUNoYWluKSB7CisgICAgICAgIGVuY29kZXIgPDwg
ZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7Cisg
ICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pOworfQorCitib29s
IEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3Vt
ZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7
CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
aGFzQ2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICgh
aGFzQ2VydGlmaWNhdGVDaGFpbikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBSZXRhaW5Q
dHI8Q0ZBcnJheVJlZj4gY2VydGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIUNvcmVJUEM6OmRlY29k
ZShkZWNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbi5n
ZXQoKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIE5TU3RyaW5nKiBuc1N0cmlu
Zyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKICAgICByZXR1cm4gc3RyaW5nLmltcGwoKSA/IFtO
U1N0cmluZyBzdHJpbmdXaXRoQ2hhcmFjdGVyczpyZWludGVycHJldF9jYXN0PGNvbnN0IFVuaUNo
YXIqPihzdHJpbmcuY2hhcmFjdGVycygpKSBsZW5ndGg6c3RyaW5nLmxlbmd0aCgpXSA6IEAiIjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzU291cC5jcHAKaW5kZXggNTRjOTVmNS4uMDdjZDEzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAK
QEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9s
YSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHly
aWdodCAoYykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE2ICsyNiwxNiBAQAogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIK
KyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtNjcsNiArNjgsNTUgQEAgYm9vbCBB
cmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1bWVudENv
ZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAg
IGlmICghY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpIHsKKyAgICAgICAgZW5jb2RlciA8
PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdCeXRlQXJyYXkqIGNlcnRp
ZmljYXRlRGF0YSA9IDA7CisgICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKGNlcnRpZmljYXRlSW5m
by5jZXJ0aWZpY2F0ZSgpKSwgImNlcnRpZmljYXRlIiwgJmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7
CisgICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBHUmVm
UHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7
CisgICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRh
UmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7CisgICAgZW5j
b2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygp
KTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRm
b3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlm
ICghaGFzQ2VydGlmaWNhdGUpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgQ29yZUlQQzo6
RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0
YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUo
KSk7CisgICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0
ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZS5zaXplKCkpOworICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGVCeXRl
cyA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworCisgICAgR1Rsc0JhY2tlbmQqIGJhY2tl
bmQgPSBnX3Rsc19iYWNrZW5kX2dldF9kZWZhdWx0KCk7CisgICAgR1JlZlB0cjxHVGxzQ2VydGlm
aWNhdGU+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFi
bGVfbmV3KAorICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tl
bmQpLCAwLCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZUJ5dGVzLmdldCgpLCBudWxscHRy
KSkpOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZS5nZXQo
KSk7CisKKyAgICB1aW50MzJfdCB0bHNFcnJvcnM7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0
bHNFcnJvcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2VydGlmaWNhdGVJbmZvLnNl
dFRMU0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKSk7
CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJy
b3I+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBS
ZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0
ZS5oCmluZGV4IDZmZGIyNGYuLmFiM2YxZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRl
LmgKQEAgLTIwLDkgKzIwLDkgQEAKICNpZm5kZWYgV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0
ZV9oCiAjZGVmaW5lIFdlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGVfaAogCi0jaW5jbHVkZSAi
Q2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q2VydGlmaWNhdGVJbmZvLmgiCiAj
aW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAKIHN0cnVjdCBfV2ViS2l0Q2VydGlmaWNhdGVJbmZvIHsKICAgICBfV2ViS2l0Q2Vy
dGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUsIEdUbHNDZXJ0aWZpY2F0
ZUZsYWdzIHRsc0Vycm9ycykKQEAgLTM1LDkgKzM1LDkgQEAgc3RydWN0IF9XZWJLaXRDZXJ0aWZp
Y2F0ZUluZm8gewogICAgIHsKICAgICB9CiAKLSAgICBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBj
ZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRl
SW5mbzsKIH07CiAKLWNvbnN0IFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvJiB3ZWJraXRDZXJ0aWZp
Y2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUluZm8oV2ViS2l0Q2VydGlmaWNhdGVJbmZvKik7Citjb25z
dCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIHdlYmtpdENlcnRpZmljYXRlSW5mb0dldENlcnRp
ZmljYXRlSW5mbyhXZWJLaXRDZXJ0aWZpY2F0ZUluZm8qKTsKIAogI2VuZGlmIC8vIFdlYktpdENl
cnRpZmljYXRlSW5mb1ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBlYTQyNWNiLi41M2M2NmQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApA
QCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdFdl
YlZpZXcuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkltYWdl
T3B0aW9ucy5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldl
YkNvbnRleHRNZW51SXRlbS5oIgpAQCAtNjAsNiArNTksNyBAQAogI2luY2x1ZGUgIldlYktpdFdl
YlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2luZG93UHJvcGVydGllc1ByaXZhdGUu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdJY29uLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9HT3duUHRyR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HT3duUHRyU291
cC5oPgpAQCAtMzAyOCw3ICszMDI4LDcgQEAgZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2dldF90
bHNfaW5mbyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHVGxzQ2VydGlmaWNhdGUqKgogICAgIGlm
ICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm4gRkFMU0U7CiAKLSAgICBjb25zdCBDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCkt
PmNlcnRpZmljYXRlSW5mbygpOworICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNh
dGVJbmZvKCk7CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNhdGUgPSBj
ZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IDhkMjBjNzYuLmQ1NTcz
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKQEAg
LTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVk
ZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRDcmVk
ZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAgICAg
ICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5jZXJ0
aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtSW5mbyA9IGNl
cnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkgOiBDZXJ0
aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIHBsYXRmb3Jt
SW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZv
KCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKTsKICAgICAgICAgbV9jb25uZWN0aW9uLT5z
ZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFs
bGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlhbC0+Y29yZSgpLCBwbGF0Zm9ybUluZm8pLCAw
KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcApp
bmRleCA2NzNlN2VjLi4yZWYzYzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuY3BwCkBAIC0xMzEsNyArMTMxLDcgQEAgdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkKCkKICAgICBtX2ZyYW1lTG9hZFN0YXRlLmRpZEZhaWxQcm92aXNp
b25hbExvYWQoKTsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0
IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvKQordm9pZCBXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29u
dGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
KQogewogICAgIG1fZnJhbWVMb2FkU3RhdGUuZGlkQ29tbWl0TG9hZCgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAppbmRleCA3Yjg1ZmYyLi43YWU5OTE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTQwLDkgKzQwLDExIEBA
IG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBjbGFzcyBDb25uZWN0aW9uOwogfQogCi1uYW1lc3Bh
Y2UgV2ViS2l0IHsKLQorbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2VydGlmaWNhdGVJbmZv
OworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNs
YXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eTsKQEAgLTk5LDcgKzEwMSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZFJlY2Vp
dmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAg
ICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRDb21taXRMb2Fk
KGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYpOworICAg
IHZvaWQgZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2
b2lkIGRpZEZhaWxMb2FkKCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNv
bnN0IFN0cmluZyYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hh
bmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1MzM2
ZTQ5Li40ZmY3ZDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cApAQCAtMjE0OCw3ICsyMTQ4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyTG9hZERlcGVu
ZGVudENhbGxiYWNrcygpCiAgICAgfQogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVp
bnQzMl90IG9wYXF1ZUZyYW1lTG9hZFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSwgdWludDMyX3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CiAgICAg
V2ViQ29udGV4dFVzZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2Rlcih1c2VyRGF0YSwgbV9w
cm9jZXNzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRl
eCBjMTE0YjI3Li40MDc4YjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC04NzcsNyArODc3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyYgdW5yZWFjaGFibGVVUkwsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAg
ICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2Rl
ciYpOwogICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVj
b2RlciYpOwotICAgIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IENl
cnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRD
b21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZv
JiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQ
Qzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0
X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbgppbmRleCA4ODNiZjA1Li40NmRjY2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTExNyw3ICsxMTcs
NyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERpZENyZWF0ZVN1YmZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1lIGxvYWQgbWVzc2FnZXMKLSAgICBEaWRDb21t
aXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVp
bnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8s
IFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlh
ZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3Ry
aW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZv
IGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rl
ciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbFByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJy
b3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRh
dGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0
YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBlODY4ZDBmLi5lNWZhNzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTQ3LDggKzExNDcsNiBA
QAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0YxODYzNzE2N0QwNzFFMDBB
MUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIzMTY4RTRCRDUwMEM5NEFG
QyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3Jr
UHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhGQTQ0ODAwQzk0QUZDIC8q
IFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBs
ZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRl
SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNG
NTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oICovOyB9OwotCQlCQ0Y1
MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFF
IC8qIENlcnRpZmljYXRlSW5mby5tbSAqLzsgfTsKIAkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFF
IC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRl
SW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNs
aWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi87IH07CiAJ
CUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NTExNzZDRDZGMDA0
NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oICovOyB9OwpAQCAtMjcyOSw4ICsyNzI3LDYgQEAK
IAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVNb2RlbC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vz
c1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1By
b2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzU3VwcGxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRB
RkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRl
SW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENlcnRpZmlj
YXRlSW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNTA2ODQxMjQzMTg2
MTAwNTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJp
dHkuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHku
ZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlCQ0Y1MDcyNjEyNDMy
OUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYkNlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJIaXN0b3J5Q2xpZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2OTIsOCArNDY4OCw2IEBACiAJCQkJ
QzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSAqLywKIAkJCQlF
MTk1ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oICovLAogCQkJCUUxOTU4
MkQ0MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLm1tICovLAotCQkJCUJDRjUwNUU1
MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEy
NDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tICovLAogCQkJCUUxQ0MxQjhGMTJE
N0VBREYwMDYyNTgzOCAvKiBQcmludEluZm9NYWMubW0gKi8sCiAJCQkJMkQ0N0I1NkExODEwNzE0
RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tICovLAogCQkJCTJENDdCNTZC
MTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oICovLApAQCAtNTY4
Niw3ICs1NjgwLDYgQEAKIAkJCQlDNTc0QTU4MTEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2Fy
ZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTk1ODJEMzE1M0NCRkQ3MDBCNjA4NzUgLyog
UERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQ0IxODkxN0JCRkUwMzAwMzk0
Q0Q4IC8qIFN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFMDBENEYxODJENkY1MDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0
SGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMx
N0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4
MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVh
ZGVycyAqLywKQEAgLTcwMTEsNyArNzAwNCw2IEBACiAJCQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3
RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQky
RDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0
QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVB
RSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0M0FCQTEyN0I5
NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVy
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYTViODQ0OWMuLmM3ZmI0ZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKE5FVFdPUktf
UFJPQ0VTUykKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFS
ZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uLmgiCkBAIC0zNiw2ICszNSw3IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vz
cy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggZmQy
ZWZhMi4uZjc0NTIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJl
ZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZv
OwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xhc3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBS
ZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1
aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRl
ciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6
Ok1lc3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3
aWxsU2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRT
ZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7
Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5l
ZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2Vp
dmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29u
c3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwog
ICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2
b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDk4YTg3OGYuLjRhNjIwNDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4g
V2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3Jr
UHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBt
ZXNzYWdlcy4KICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBE
aWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2Vu
dCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmlj
YXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKKyAg
ICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUlu
Zm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiAgICAgRGlk
UmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBpbnQ2NF90IGVuY29kZWRE
YXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSkK
ICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IGJlMTY3YTIuLjY4MzQ4NzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5j
bHVkZSAiV2ViRnJhbWVMb2FkZXJDbGllbnQuaCIKIAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9u
TWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFS
ZWZlcmVuY2UuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5oIgpAQCAtNTEsNiArNTAsNyBAQAogI2luY2x1
ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nocm9tZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Eb2N1bWVudExvYWRlci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApp
bmRleCBjYjVkOGQ0Li45MjIwZWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaApAQCAtNTEsNiArNTEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlR3Jv
dXA7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBzdHJ1Y3QgUGx1Z2luSW5mbzsKKyNpZiAhRU5B
QkxFKE5FVFdPUktfUFJPQ0VTUykgJiYgVVNFKFNPVVApCitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87
CisjZW5kaWYKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC03MiwxMCArNzUsNiBAQCBzdHJ1
Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICNpZiBFTkFCTEUoTkVUV09SS19QUk9D
RVNTKQogY2xhc3MgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOwogY2xhc3MgV2ViUmVzb3VyY2VM
b2FkU2NoZWR1bGVyOwotI2Vsc2UKLSNpZiBVU0UoU09VUCkKLWNsYXNzIENlcnRpZmljYXRlSW5m
bzsKLSNlbmRpZgogI2VuZGlmCiAKICNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKQEAgLTE3
NCw3ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygpOwogCiAj
aWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQotICAgIHZvaWQgYWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGNv
bnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBo
b3N0KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGEwOWZmNTYuLjcxOGQ4ZmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4KQEAgLTg0LDYgKzg0LDYgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZl
ciB7CiAjZW5kaWYKIAogI2lmICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0UoU09VUCkK
LSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpDZXJ0aWZp
Y2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZp
Y0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKaW5kZXggYzBjMjA2Yy4uNjkxZGIz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1Nv
dXAuY3BwCkBAIC0yMTAsNyArMjEwLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRJZ25vcmVUTFNF
cnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJvcnMpCiB9CiAKICNpZiAhRU5BQkxFKE5FVFdPUktfUFJP
Q0VTUykKLXZvaWQgV2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JI
b3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBjb25zdCBTdHJpbmcm
IGhvc3QpCit2b2lkIFdlYlByb2Nlc3M6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9y
SG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgY29u
c3QgU3RyaW5nJiBob3N0KQogewogICAgIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZXRDbGll
bnRDZXJ0aWZpY2F0ZShob3N0LCBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSk7CiB9Cg==
</data>
<flag name="commit-queue"
          id="241344"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218048</attachid>
            <date>2013-11-29 02:46:36 -0800</date>
            <delta_ts>2013-12-08 05:56:50 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>58245</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMDMzNDIyLi4yZTRiMDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTMtMTEtMjkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dh
bmcgWXVsIFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm86OnNldENlcnRpZmljYXRlQ2hhaW4pOiBBZGRlZCwgYmVjYXVzZSBXZWJDb3JlQXJndW1lbnRD
b2RlcnMgbmVlZHMgaXQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0
aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRp
ZmljYXRlSW5mbyk6IE1vdmVkIGVuY29kZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNh
dGVJbmZvKTogTW92ZWQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIHRvIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZp
Y2F0ZSk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVudENvZGVycyBuZWVkcyBpdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKTogQWRkZWQsIGJl
Y2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorCiAyMDEzLTExLTI4ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmVuYW1lIElu
bGluZUl0ZXJhdG9yOjptX29iaiBhbmQgbWFrZSBpdCBwcml2YXRlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCA4ODcxODM1Li45MTMxNjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTU0NzgsNiArNTQ3OCw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUu
aCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5m
by5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JTdG9yYWdlRGF0YS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Nvb2tpZVN0b3JhZ2UuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwIFwKQEAg
LTU1MTMsNiArNTUxNCw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVNvdXAuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21h
a2UKaW5kZXggMWU5OTU4OC4uNjFkNzlkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAg
LTE1Miw2ICsxNTIsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9y
bS9uZXR3b3JrL2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCisgICAgcGxhdGZv
cm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
U3RvcmFnZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9y
YWdlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggNTU3Nzc0Mi4uOTkzYzI1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTE4Nyw2ICsxODcsNyBAQCBsaXN0KEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3JrL2d0ay9DcmVkZW50aWFs
QmFja2luZ1N0b3JlLmNwcAogCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlU291cC5jcHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNh
dGVJbmZvLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3VwLmNwcAog
ICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdlU291cC5jcHAKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgppbmRleCAyYjhhNTQ4Li4wMWE0ZjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNjcs
NiArNjcsOSBAQCBfX1pOM1dURjEwU3RyaW5nSW1wbGN2UDhOU1N0cmluZ0V2CiBfX1pOM1dURjEy
QXRvbWljU3RyaW5nM2FkZEVQSzEwX19DRlN0cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUDhOU1N0
cmluZwogX19aTjNXVEY2U3RyaW5nQzFFUEsxMF9fQ0ZTdHJpbmcKK19fWk43V2ViQ29yZTE1Q2Vy
dGlmaWNhdGVJbmZvQzFFUktOU18xNlJlc291cmNlUmVzcG9uc2VFCitfX1pON1dlYkNvcmUxNUNl
cnRpZmljYXRlSW5mb0MxRVBLOV9fQ0ZBcnJheQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUlu
Zm9DMUV2CiBfX1pON1dlYkNvcmUxMENsaWVudFJlY3RDMUVSS05TXzdJbnRSZWN0RQogX19aTjdX
ZWJDb3JlMTBDbGllbnRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlMTBDbGll
bnRSZWN0QzFFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDY1YTEwNjAuLmVmNWYyOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5NDgsNyArMTk0OCwxMCBA
QAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlOYW1lcy5oIGluIENv
cHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMuaCAqLzsgfTsKIAkJ
NURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQTBEMTVGNjQyMDBC
NzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsKIAkJNURGRThGNTcwRDE2NDc3QzAw
NzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFj
dGlvbi5oICovOyB9OworCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLzsgfTsK
KwkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUYyREJCRTgxNzhFMzM2OTAw
MTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNCAvKiBKU0V2ZW50
VGFyZ2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdldC5oICovOyB9OworCQk1RkUx
RDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZFMUQyOTExNzhGRDFGMzAwMUFB
M0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1
QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2
aWdhdGlvbi5jcHAgKi87IH07CiAJCTYyNkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMxMjEz
MUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0
d29ya2luZ0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtODY4NSw3ICs4Njg4LDEwIEBACiAJCTVEQTk3RUNDMTY4RTc4N0IwMDBFMzY3
NiAvKiBTeXN0ZW1WZXJzaW9uTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gU3lzdGVtVmVyc2lvbk1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNv
dXJjZUxpYnhzbHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJh
bnNmb3JtU291cmNlTGlieHNsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVG
MkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm9NYWMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBD
ZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2VydGlm
aWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVGQzdEQzI2Q0ZFMjU2
MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVG
RTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsg
bmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC4uLy4uLy4uLy4uLy4uL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhdGlhbE5hdmlnYXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjZDREUwRDExNDA0MjRDMDAx
RTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3BhdGlhbE5hdmlnYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMzUzMyw2ICsxMzUzOSw3IEBACiAJCQlpc2EgPSBQQlhGcmFt
ZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlm
aWxlcyA9ICgKKwkJCQk1RkUxRDI5MjE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8qIEFj
Y2VsZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJOTNGMTlCMTMwODI0NUU1
OTAwMUU5QUJDIC8qIEFwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCiAJCQkJRkQyREJGMTMxMkIwNDhBMzAwRUQ5OEM2IC8qIEF1ZGlvVG9vbGJveC5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLywKQEAgLTEzODk1LDYgKzEzOTAyLDcgQEAKIAkJMDg2N0Q2OTFG
RTg0MDI4RkMwMkFBQzA3IC8qIFdlYktpdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZy
YW1ld29yayAqLywKIAkJCQk2NUM5N0FGMjA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggKi8s
CiAJCQkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLywKIAkJ
CQk5MzA3MDYxMzA5RTBDQTgyMDBCMTdGRTQgLyogRGVyaXZlZFNvdXJjZXMubWFrZSAqLywKQEAg
LTE1NDU0LDYgKzE1NDYyLDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIz
NEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIz
NEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5tbSAqLywKKwkJCQk1RjJEQkJFODE3OEUz
MzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCisJCQkJNUYyREJCRTcxNzhFMzMy
RDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLywKIAkJCQlFMTQyNEM4RjE2NEI0
NjBCMDBGMzJENDAgLyogQ29va2llSmFyTWFjLm1tICovLAogCQkJCUUxM0YwMUYwMTI3MEUxOTAw
MERGQkE3MSAvKiBDb29raWVTdG9yYWdlTWFjLm1tICovLAogCQkJCUUxQjRDRDI0MTBCMzIyRTIw
MEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLywKQEAgLTI0MTU0LDYgKzI0MTY0
LDcgQEAKIAkJCQkwRjEzMTYzRTE2RUQwQ0M4MDAzNUNDMDQgLyogUGxhdGZvcm1DQUZpbHRlcnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0Zm9y
bUNBTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4MSAv
KiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTVGQTkwNENBMTc4
RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTA3
QzU5QjU0MTdGNEFDMTUwMDBGQkNCQiAvKiBBdWRpb1N0cmVhbVRyYWNrLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTQyNEM4QTE2NEIzQjRFMDBGMzJENDAgLyogUGxhdGZvcm1Db29raWVKYXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNUM3NjJCMTQ5N0ZFMTQwMEJDNDc3NSAvKiBQbGF0Zm9ybUV2
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI4MzM0LDYgKzI4MzQ1LDcgQEAKIAkJCQk5NzdFMkUw
RTEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUUxNzJBRjhGMTgxMUJDMzcwMEZCQURCOSAvKiBKU0RPTVByb21pc2UuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0
ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTgg
LyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4
MzZBOCAvKiBEb3duU2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4
QkVFMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKc2ltaWxhcml0eSBp
bmRleCA4NyUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0
ZUluZm8uaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2Vy
dGlmaWNhdGVJbmZvLmgKaW5kZXggNGRkYzc1MS4uYzhiM2NkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjksMjQgKzI5LDE3
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERlY29k
ZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgeworbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDZXJ0aWZpY2F0ZUluZm8gewogcHVibGljOgogICAg
IENlcnRpZmljYXRlSW5mbygpOwotICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJbmZv
KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8o
Q0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKTsKIAorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVD
aGFpbihDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pIHsgbV9jZXJ0aWZpY2F0ZUNoYWluID0g
Y2VydGlmaWNhdGVDaGFpbjsgfQogICAgIENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbigpIGNv
bnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQoKTsgfQogCi0gICAgdm9pZCBlbmNv
ZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVj
b2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIENlcnRpZmljYXRlSW5mbyYpOwotCiAjaWZu
ZGVmIE5ERUJVRwogICAgIHZvaWQgZHVtcCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQpzaW1pbGFyaXR5
IGluZGV4IDc1JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmlj
YXRlSW5mby5tbQpyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
Q2VydGlmaWNhdGVJbmZvTWFjLm1tCmluZGV4IDI2MGVhYjYuLjIwM2M5Y2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAt
MjYsMTMgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQ2VydGlmaWNhdGVJ
bmZvLmgiCiAKLSNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKLSNpbXBvcnQgIkFyZ3VtZW50
RGVjb2Rlci5oIgotI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVyLmgiCi0KLXVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQogewpAQCAtNDgsMzIgKzQyLDYgQEAg
Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNo
YWluKQogewogfQogCi12b2lkIENlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGVDaGFp
bikgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBtX2Nl
cnRpZmljYXRlQ2hhaW4uZ2V0KCkpOwotfQotCi1ib29sIENlcnRpZmljYXRlSW5mbzo6ZGVjb2Rl
KENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjKQot
ewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc0NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAo
IWhhc0NlcnRpZmljYXRlQ2hhaW4pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKCFD
b3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgYy5tX2NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogI2lmbmRlZiBOREVCVUcKIHZv
aWQgQ2VydGlmaWNhdGVJbmZvOjpkdW1wKCkgY29uc3QKIHsKQEAgLTg4LDQgKzU2LDQgQEAgdm9p
ZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAogfQogI2VuZGlmCiAKLX0gLy8gbmFtZXNw
YWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCnNpbWlsYXJpdHkgaW5kZXgg
NTIlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5m
by5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0
aWZpY2F0ZUluZm8uY3BwCmluZGV4IDllOTI1MTguLmQ1ZmFlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKQEAgLTI2LDE2
ICsyNiwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5m
by5oIgogCi0jaW5jbHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW5jbHVkZSAiQXJndW1lbnRF
bmNvZGVyLmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgor
I2luY2x1ZGUgPFJlc291cmNlRXJyb3IuaD4KKyNpbmNsdWRlIDxSZXNvdXJjZVJlc3BvbnNlLmg+
CiAjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ2VydGlmaWNhdGVJ
bmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQogICAgIDogbV90bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rs
c0NlcnRpZmljYXRlRmxhZ3M+KDApKQpAQCAtNjQsNTMgKzU5LDQgQEAgQ2VydGlmaWNhdGVJbmZv
Ojp+Q2VydGlmaWNhdGVJbmZvKCkKIHsKIH0KIAotdm9pZCBDZXJ0aWZpY2F0ZUluZm86OmVuY29k
ZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFt
X2NlcnRpZmljYXRlKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOwotICAgIGdf
b2JqZWN0X2dldChHX09CSkVDVChtX2NlcnRpZmljYXRlLmdldCgpKSwgImNlcnRpZmljYXRlIiwg
JmNlcnRpZmljYXRlRGF0YSwgTlVMTCk7Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZURhdGEpIHsKLSAg
ICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVu
Y29kZXIgPDwgdHJ1ZTsKLSAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRv
cHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0
aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0
aWZpY2F0ZS0+bGVuKSk7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJfdD4obV90
bHNFcnJvcnMpOwotfQotCi1ib29sIENlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKENvcmVJUEM6OkFy
Z3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8p
Ci17Ci0gICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhh
c0NlcnRpZmljYXRlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0
aWZpY2F0ZSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFy
aWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRl
X2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBj
ZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2Vy
dGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNp
emUoKSk7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihj
ZXJ0aWZpY2F0ZURhdGEpOwotCi0gICAgR1Rsc0JhY2tlbmQqIGJhY2tlbmQgPSBnX3Rsc19iYWNr
ZW5kX2dldF9kZWZhdWx0KCk7Ci0gICAgY2VydGlmaWNhdGVJbmZvLm1fY2VydGlmaWNhdGUgPSBh
ZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoCi0gICAgICAgIGdfdGxz
X2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsICJjZXJ0aWZpY2F0
ZSIsIGNlcnRpZmljYXRlLmdldCgpLCBudWxscHRyKSkpOwotCi0gICAgdWludDMyX3QgdGxzRXJy
b3JzOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGNlcnRpZmljYXRlSW5mby5tX3Rsc0Vycm9ycyA9IHN0YXRpY19jYXN0PEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKc2ltaWxhcml0
eSBpbmRleCA5MCUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlm
aWNhdGVJbmZvLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9DZXJ0aWZpY2F0ZUluZm8uaAppbmRleCBlYjU1OGFhLi45NGU0ZmY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTMwLDE3
ICszMCwxMCBAQAogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgogI2luY2x1ZGUgPHd0Zi9nb2Jq
ZWN0L0dSZWZQdHIuaD4KIAotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1lbnREZWNv
ZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisK
IGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwotfQotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKIHB1YmxpYzoKQEAgLTUx
LDE2ICs0NCwxNSBAQCBwdWJsaWM6CiAgICAgfkNlcnRpZmljYXRlSW5mbygpOwogCiAgICAgR1Rs
c0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUu
Z2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlm
aWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CiAgICAgR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KLQotICAg
IHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRp
YyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBDZXJ0aWZpY2F0ZUluZm8m
KTsKKyAgICB2b2lkIHNldFRMU0Vycm9ycyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMp
IHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KIAogcHJpdmF0ZToKICAgICBHUmVmUHRyPEdU
bHNDZXJ0aWZpY2F0ZT4gbV9jZXJ0aWZpY2F0ZTsKICAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyBt
X3Rsc0Vycm9yczsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4MjM1
YmU0Li44MGRmNjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTMtMTEtMjkgIENz
YWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIENlcnRp
ZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyA8c2t5dWxA
Y29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21h
a2U6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9j
L21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFy
ZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW06CisgICAg
ICAgICogU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmg6CisgICAgICAgIChXZWJLaXQ6OlVzZXJN
ZXNzYWdlRGVjb2Rlcjo6YmFzZURlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNlcnRpZmlj
YXRlSW5mby5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAo
Q29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAg
ICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2Rl
UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToK
KyAgICAgICAgKiBTaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwOgorICAgICAgICAqIFNo
YXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwOgorICAgICAgICAoQ29yZUlQ
Qzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGVQbGF0
Zm9ybURhdGEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRl
SW5mb1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3Jl
ZGVudGlhbCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViRnJhbWVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFt
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QpOgorCiAyMDEzLTEx
LTI5ICBIdW5zZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBb
RUZMXSB2aWV3cG9ydCBtdXN0IGJlIHNhbWUgd2l0aCB0aGUgc2l6ZSBvZiB3ZWJ2aWV3CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5ZDE1ODVlLi5lMTJmZjI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ4MSw4ICs0ODEsNiBAQCB3ZWJraXQyX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L1N0YXRpc3RpY3NEYXRhLmggXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5m
by5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0
b3JhZ2VUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVu
dENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0
ZS5oIFwKQEAgLTEzNjUsOCArMTM2Myw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhH
dGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAg
XAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAotCVNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9h
ZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91
c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IGM1NDNhM2UuLmQxYzkzZDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2Fk
ZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJv
bm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50Lmgi
CiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5o
IgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDg1YjU2ZjguLjZhOTNkODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMzUsMTAgKzM1
LDEyIEBACiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKLW5hbWVzcGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworfQogCituYW1lc3BhY2UgV2ViS2l0IHsKIGNs
YXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNz
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBw
bGVtZW50Owogc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtMTA0
LDcgKzEwNiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZFJlcXVlc3QodWludDY0X3Qg
ZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdm9pZCBj
YW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lkIHNldENhY2hlTW9k
ZWwodWludDMyX3QpOwotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JI
b3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9p
ZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGdldE5ldHdvcmtQ
cm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGNsZWFyQ2Fj
aGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IGY5NjRhN2YuLjMyYmNlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0zOSw3ICszOSw3
IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRQ
cm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNlbmRpZgogCi0gICAgQWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNl
cnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRp
ZmljYXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6
U3RyaW5nIGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2
NF90IGNhbGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA0MzJlYzc2Li4yZjhhNDlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkFzeW5jaHJv
bm91c05ldHdvcmtMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFn
ZXIuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJl
bmNlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtCbG9iUmVnaXN0
cnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3
b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3
b3JrUHJvY2Vzc01hYy5tbQppbmRleCAxM2RjNGM5Li4wMDQ3OGVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCkBA
IC0yOCwxMyArMjgsMTMgQEAKIAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAKLSNpbXBv
cnQgIkNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgogI2ltcG9ydCAi
UmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAj
aW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTdHJp
bmdVdGlsaXRpZXMuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3Ry
aW5ncy5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCmluZGV4IDZkM2U3MTIuLmU3MjY4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNt
YWtlCkBAIC00OSw3ICs0OSw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNo
YXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9T
ZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlm
aWNhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwCiAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUdUSy5jbWFrZQppbmRleCAxYjFjNTU0Li40ZDgxNzY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZQpAQCAtNjEsNyArNjEsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAg
ICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGlu
dXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9zb3VwL0Nl
cnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNT
b3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9N
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZv
TWFjLm1tCmluZGV4IDMyZWMwZjQuLjMyZmEyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpAQCAtMjksNiAr
MjksNyBAQAogI2ltcG9ydCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJXZWJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0
ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5oCmluZGV4IDRmNjVlOWYuLjQ5NzU5ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgK
QEAgLTM0LDEzICszNCwxMyBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKLSAgICBjbGFz
cyBDcmVkZW50aWFsOworY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0
aWZpY2F0ZUluZm87CitjbGFzcyBDcmVkZW50aWFsOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgQ2hpbGRQcm9jZXNzOwogY2xhc3MgRG93
bmxvYWQ7CiBjbGFzcyBXZWJGcmFtZTsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIC8v
IENhbGxlZCBmb3IgZG93bmxvYWRzIHdpdGggb3Igd2l0aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MK
ICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb3dubG9hZCosIGNv
bnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKLSAgICB2b2lkIHVzZUNy
ZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6
OkNyZWRlbnRpYWwmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRl
bnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNy
ZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNv
bnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQp
OwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAK
QEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2
ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVz
ZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYpOworICAgIGJvb2wgdHJ5VXNlQ2Vy
dGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAKICAgICB1aW50NjRf
dCBlc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3Nh
Z2VzLmluCmluZGV4IGRhMTNmMzQuLjM0ZGI5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBt
ZXNzYWdlcyAtPiBBdXRoZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlh
bEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBj
cmVkZW50aWFsLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9p
ZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3Jl
OjpDcmVkZW50aWFsIGNyZWRlbnRpYWwsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZSk7CiAgICAgdm9pZCBDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVp
bnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBj
aGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVu
dGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0K
aW5kZXggYTg2MThjZC4uOGI2ZDcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5h
Z2VyLm1hYy5tbQpAQCAtMjgsOSArMjgsOSBAQAogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZSQU1FV09S
SykKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPFNlY3VyaXR5L1Nl
Y0lkZW50aXR5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3Nh
Z2VDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oCmlu
ZGV4IDViZDM3ZjUuLjc4OGZlZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9V
c2VyTWVzc2FnZUNvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2Fn
ZUNvZGVycy5oCkBAIC01MDQsNyArNTA0LDcgQEAgcHVibGljOgogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6Q2VydGlmaWNhdGVJ
bmZvOiB7Ci0gICAgICAgICAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAg
ICAgICAgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKICAgICAg
ICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJDZXJ0aWZp
Y2F0ZUluZm86OmNyZWF0ZShjZXJ0aWZpY2F0ZUluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNlcnRpZmljYXRlSW5mby5oCmluZGV4IGU5MDFkMzAuLmZlY2I5NGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTI3LDI3ICsyNywyNyBAQAog
I2RlZmluZSBXZWJDZXJ0aWZpY2F0ZUluZm9faAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0j
aW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0
ZUluZm8uaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGljIEFQSTo6VHlwZWRPYmplY3Q8
QVBJOjpPYmplY3Q6OlR5cGU6OkNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IENlcnRpZmljYXRl
SW5mbyYgaW5mbykKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNy
ZWF0ZShjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgewogICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkNlcnRpZmljYXRlSW5mbyhpbmZvKSk7CiAgICAgfQog
Ci0gICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJl
dHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87
IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgQ2Vy
dGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25z
dCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgICAgIDogbV9jZXJ0aWZpY2F0
ZUluZm8oaW5mbykKICAgICB7CiAgICAgfQogCi0gICAgQ2VydGlmaWNhdGVJbmZvIG1fY2VydGlm
aWNhdGVJbmZvOworICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5m
bzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBlNTBhNThhLi4xNWM2ZjZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAt
MjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2Vy
dGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0NyZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpAQCAtOTEs
NiArOTIsMjIgQEAgYm9vbCBBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0cml4Pjo6ZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgVHJhbnMKICAgICByZXR1cm4gU2ltcGxlQXJn
dW1lbnRDb2RlcjxUcmFuc2Zvcm1hdGlvbk1hdHJpeD46OmRlY29kZShkZWNvZGVyLCB0cmFuc2Zv
cm1hdGlvbk1hdHJpeCk7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+
OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgY2Vy
dGlmaWNhdGVJbmZvKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46
OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvKQoreworICAgIENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZTsKKworICAgIGlm
ICghZGVjb2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIGNlcnRpZmljYXRlKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgY2VydGlmaWNhdGVJbmZvID0gY2VydGlmaWNhdGU7CisKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KIAogdm9pZCBBcmd1bWVudENvZGVyPEZsb2F0UG9pbnQ+OjplbmNvZGUo
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBGbG9hdFBvaW50JiBmbG9hdFBvaW50KQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4
IDVkOTgwNTIuLjIzNGQwNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOworY2xh
c3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgQ29sb3I7CiBjbGFzcyBDcmVkZW50aWFsOwogY2xh
c3MgQ3Vyc29yOwpAQCAtMTAzLDYgKzEwNCwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4PiB7CiAgICAgc3RhdGljIGJvb2wg
ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4Jik7
CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25z
dCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJn
dW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIHZv
aWQgZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKK307CisKIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRQb2ludD4gewogICAgIHN0YXRp
YyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50
Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkZs
b2F0UG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNNYWMubW0KaW5kZXggY2U5YzA2ZC4uZTZlOTIzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0K
QEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI4LDE0ICsyOSwxMyBAQAogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCiAjaW1wb3J0
ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW1wb3J0ICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQg
IldlYktpdFN5c3RlbUludGVyZmFjZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUlu
Zm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5h
bWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTM0LDYgKzEzNCwzNiBAQCBib29sIEFyZ3VtZW50Q29k
ZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXIm
IGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlm
aWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJheVJl
ZiBjZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsK
KyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBDb3Jl
SVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJndW1l
bnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBi
b29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0
aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0
aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxDRkFy
cmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29k
ZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0
aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsK
KworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNvbnN0
IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3RyaW5n
IHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHN0
cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNT
b3VwLmNwcAppbmRleCA1NGM5NWY1Li4wN2NkMTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtMSw2
ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmls
aXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj
KSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsMTYgKzI2LDE2IEBACiAgKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
IAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02Nyw2ICs2OCw1NSBAQCBib29sIEFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29k
ZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2Vy
dGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgaWYgKCFj
ZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNl
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVE
YXRhID0gMDsKKyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2VydGlmaWNhdGVJbmZvLmNlcnRp
ZmljYXRlKCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKKyAgICBp
ZiAoIWNlcnRpZmljYXRlRGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQdHI8R0J5
dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKyAgICBl
bmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNvZGVyIDw8
IHN0YXRpY19jYXN0PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOworfQor
Citib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRh
KEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUlu
Zm8pCit7CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc0NlcnRpZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXND
ZXJ0aWZpY2F0ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb3JlSVBDOjpEYXRhUmVm
ZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
VmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19i
eXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAg
ICBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwg
Y2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNl
LnNpemUoKSk7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0gYWRv
cHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdf
dGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4g
Y2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXco
CisgICAgICAgIGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAs
IDAsICJjZXJ0aWZpY2F0ZSIsIGNlcnRpZmljYXRlQnl0ZXMuZ2V0KCksIG51bGxwdHIpKSk7Cisg
ICAgY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlLmdldCgpKTsKKwor
ICAgIHVpbnQzMl90IHRsc0Vycm9yczsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9y
cykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJy
b3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsKKworICAg
IHJldHVybiB0cnVlOworfQogCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVu
Y29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlc291cmNl
RXJyb3ImIHJlc291cmNlRXJyb3IpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmgKaW5k
ZXggNmZkYjI0Zi4uYWIzZjFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaApAQCAt
MjAsOSArMjAsOSBAQAogI2lmbmRlZiBXZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlX2gKICNk
ZWZpbmUgV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZV9oCiAKLSNpbmNsdWRlICJDZXJ0aWZp
Y2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJLaXRDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRl
ICJXZWJLaXRQcml2YXRlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4K
IAogc3RydWN0IF9XZWJLaXRDZXJ0aWZpY2F0ZUluZm8gewogICAgIF9XZWJLaXRDZXJ0aWZpY2F0
ZUluZm8oR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSwgR1Rsc0NlcnRpZmljYXRlRmxhZ3Mg
dGxzRXJyb3JzKQpAQCAtMzUsOSArMzUsOSBAQCBzdHJ1Y3QgX1dlYktpdENlcnRpZmljYXRlSW5m
byB7CiAgICAgewogICAgIH0KIAotICAgIFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmlj
YXRlSW5mbzsKKyAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOwog
fTsKIAotY29uc3QgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8mIHdlYmtpdENlcnRpZmljYXRlSW5m
b0dldENlcnRpZmljYXRlSW5mbyhXZWJLaXRDZXJ0aWZpY2F0ZUluZm8qKTsKK2NvbnN0IFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyYgd2Via2l0Q2VydGlmaWNhdGVJbmZvR2V0Q2VydGlmaWNhdGVJ
bmZvKFdlYktpdENlcnRpZmljYXRlSW5mbyopOwogCiAjZW5kaWYgLy8gV2ViS2l0Q2VydGlmaWNh
dGVJbmZvUHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IGVhNDI1Y2IuLjUzYzY2ZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0yMSw3
ICsyMSw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5o
IgogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiSW1hZ2VPcHRpb25z
LmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4
dE1lbnVJdGVtLmgiCkBAIC02MCw2ICs1OSw3IEBACiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1By
aXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXaW5kb3dQcm9wZXJ0aWVzUHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRp
ZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0ljb24uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0dPd25QdHJHdGsuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dPd25QdHJTb3VwLmg+CkBA
IC0zMDI4LDcgKzMwMjgsNyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZv
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWlu
RnJhbWUpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlm
aWNhdGVJbmZvKCk7CisgICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZp
Y2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5jZXJ0aWZpY2F0ZUluZm8o
KTsKICAgICBpZiAoY2VydGlmaWNhdGUpCiAgICAgICAgICpjZXJ0aWZpY2F0ZSA9IGNlcnRpZmlj
YXRlSW5mby5jZXJ0aWZpY2F0ZSgpOwogICAgIGlmIChlcnJvcnMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKaW5kZXggOGQyMGM3Ni4uZDU1NzNkYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcApAQCAtNjYsNyAr
NjYsNyBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwo
V2ViQ3JlZGVudGlhbCogY3JlZGVudGlhbCkKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1l
c3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OkNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxG
b3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCksIDApOwogICAgIGVsc2UgewogICAgICAgICBXZWJD
ZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmljYXRlSW5mbyA9IGNyZWRlbnRpYWwtPmNlcnRpZmljYXRl
SW5mbygpOwotICAgICAgICBDZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZvID0gY2VydGlmaWNh
dGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5jZXJ0aWZpY2F0ZUluZm8oKSA6IENlcnRpZmljYXRl
SW5mbygpOworICAgICAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZvID0g
Y2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5jZXJ0aWZpY2F0ZUluZm8oKSA6IFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbygpOwogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVz
c2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6VXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSht
X2NoYWxsZW5nZUlELCBjcmVkZW50aWFsLT5jb3JlKCksIHBsYXRmb3JtSW5mbyksIDApOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCmluZGV4IDY3
M2U3ZWMuLjJlZjNjNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJG
cmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94
eS5jcHAKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQcm92
aXNpb25hbExvYWQoKQogICAgIG1fZnJhbWVMb2FkU3RhdGUuZGlkRmFpbFByb3Zpc2lvbmFsTG9h
ZCgpOwogfQogCi12b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5n
JiBjb250ZW50VHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2
b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlw
ZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAg
ICAgbV9mcmFtZUxvYWRTdGF0ZS5kaWRDb21taXRMb2FkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDdiODVmZjIuLjdhZTk5MTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaApAQCAtNDAsOSArNDAsMTEgQEAgbmFtZXNw
YWNlIENvcmVJUEMgewogICAgIGNsYXNzIENvbm5lY3Rpb247CiB9CiAKLW5hbWVzcGFjZSBXZWJL
aXQgewotCituYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87Cit9CisK
K25hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2Vi
Rm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViRnJhbWVQb2xpY3lMaXN0ZW5l
clByb3h5OwpAQCAtOTksNyArMTAxLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkU3RhcnRQcm92
aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZl
clJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lk
IGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3Qg
U3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCBk
aWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZCgpOwogICAgIHZvaWQgZGlk
RmFpbExvYWQoKTsKICAgICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oY29uc3QgU3Ry
aW5nJik7IC8vIGVnLiBhbmNob3IgbmF2aWdhdGlvbiwgc2Vzc2lvbiBzdGF0ZSBjaGFuZ2UuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDUzMzZlNDkuLjRm
ZjdkNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0y
MTQ4LDcgKzIxNDgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJMb2FkRGVwZW5kZW50Q2Fs
bGJhY2tzKCkKICAgICB9CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3Qg
b3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUlu
Zm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBXZWJQYWdlUHJveHk6
OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1p
bWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRl
Y29kZXIpCiB7CiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1c2VyRGF0YTsKICAgICBXZWJDb250
ZXh0VXNlck1lc3NhZ2VEZWNvZGVyIG1lc3NhZ2VEZWNvZGVyKHVzZXJEYXRhLCBtX3Byb2Nlc3Mu
Z2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGMxMTRi
MjcuLjQwNzhiNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTg3Nyw3ICs4NzcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3Ry
aW5nJiB1bnJlYWNoYWJsZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAg
ICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNh
dGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZENvbW1pdExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50
MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2
b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNz
YWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IDg4M2JmMDUuLjQ2ZGNjZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTE3LDcgKzExNyw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlkQ3JlYXRlU3ViZnJhbWUodWludDY0X3Qg
ZnJhbWVJRCkKIAogICAgICMgRnJhbWUgbG9hZCBtZXNzYWdlcwotICAgIERpZENvbW1pdExvYWRG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3Qg
bG9hZFR5cGUsIFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAg
ICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWlt
ZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlm
aWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJE
YXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJN
ZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsUHJvdmlzaW9uYWxM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJv
ciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFy
aWFkaWMKICAgICBEaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJp
YWRpYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGU4NjhkMGYuLmU1ZmE3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExNDcsOCArMTE0Nyw2IEBACiAJCUJD
RjE4NjM4MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAv
KiBDYWNoZU1vZGVsLmNwcCAqLzsgfTsKIAkJQkNGNERFMjMxNjhFNEJENTAwQzk0QUZDIC8qIE5l
dHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNz
U3VwcGxlbWVudC5oICovOyB9OwogCQlCQ0Y0REUyNTE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29u
dGV4dFN1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5o
ICovOyB9OwotCQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEy
NDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmggKi87IH07Ci0JCUJDRjUwNUU4MTI0
MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogQ2Vy
dGlmaWNhdGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2Vi
Q2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmgg
Ki87IH07CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0
MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlG
ODcxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAv
KiBXZWJIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNzI5LDggKzI3MjcsNiBAQAogCQlCQ0Yx
ODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1
cHBsZW1lbnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBX
ZWJDb250ZXh0U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJDb250ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1
MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2VydGlmaWNhdGVJbmZv
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y1MDY4NDEyNDMxODYxMDA1OTU1
QUUgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFt
ZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdv
cms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUJDRjUwNzI2MTI0MzI5QUEwMDU5
NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDRjY5Rjg0MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkhpc3RvcnlDbGllbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDY5Miw4ICs0Njg4LDYgQEAKIAkJCQlDNTc0QTU4
MDEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tICovLAogCQkJCUUxOTU4MkQy
MTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggKi8sCiAJCQkJRTE5NTgyRDQxNTND
QzA1MzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMubW0gKi8sCi0JCQkJQkNGNTA1RTUxMjQzMDQ3
QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oICovLAotCQkJCUJDRjUwNUU2MTI0MzA0N0Iw
MDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAw
NjI1ODM4IC8qIFByaW50SW5mb01hYy5tbSAqLywKIAkJCQkyRDQ3QjU2QTE4MTA3MTRFMDAzQTNB
RUUgLyogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0gKi8sCiAJCQkJMkQ0N0I1NkIxODEwNzE0
RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmggKi8sCkBAIC01Njg2LDcgKzU2
ODAsNiBAQAogCQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJ
bXBvcnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyog
U3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1
MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUUwMEQ0RjE4MkQ2RjUwMDAwODdERDcgLyogV0tCcm93c2luZ0NvbnRleHRIYW5kbGVJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDNDNBQkIxMjdCOTVEQzAwMzE3RjE2IC8q
IFBsYXRmb3JtUG9wdXBNZW51RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4NzgwRkMxMTYx
QzJCODAwQ0MyNzY4IC8qIFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaCBpbiBIZWFkZXJzICov
LApAQCAtNzAxMSw3ICs3MDA0LDYgQEAKIAkJCQkyRDJBREYxMDE2MzY0RDgyMDAxOTdFNDcgLyog
UERGUGx1Z2luQ2hvaWNlQW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJENDI5QkZE
MTcyMUUyQzcwMEVDNjgxRiAvKiBQREZQbHVnaW5QYXNzd29yZEZpZWxkLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQyQURGMDkxNjM2MkRENTAwMTk3RTQ3IC8qIFBERlBsdWdpblRleHRBbm5vdGF0
aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIENl
cnRpZmljYXRlSW5mby5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMx
N0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2
RkI3RDIxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkz
MUE2N0UwQzE2NUIyQTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCBhNWI4NDQ5Yy4uYzdmYjRkNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNT
KQogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCIKQEAgLTM2LDYgKzM1LDcgQEAKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisj
aW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Rv
Y3VtZW50TG9hZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCBmZDJlZmEyLi5m
NzQ1MjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBEYXRhUmVmZXJlbmNl
OwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFz
cyBQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1ZmZlcjsKIGNsYXNzIFJlc291cmNl
RXJyb3I7CkBAIC01MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiB0eXBlZGVmIHVpbnQ2NF90
IFJlc291cmNlTG9hZElkZW50aWZpZXI7CiAKIGNsYXNzIFdlYlJlc291cmNlTG9hZGVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8V2ViUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2Fn
ZVNlbmRlciB7CkBAIC03Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdpbGxTZW5k
UmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKICAgICB2b2lkIGRpZFNlbmREYXRh
KHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2
b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250
aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3Bv
bnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwg
Y29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVj
ZWl2ZVJlc3BvbnNlTWVzc2FnZSk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBDb3Jl
SVBDOjpEYXRhUmVmZXJlbmNlJiwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9p
ZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpOwogICAgIHZvaWQgZGlk
RmFpbFJlc291cmNlTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIubWVzc2FnZXMuaW4KaW5kZXggOThhODc4Zi4uNGE2MjA0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5tZXNzYWdlcy5pbgpAQCAtMjksNyArMjksNyBAQCBtZXNzYWdlcyAtPiBXZWJSZXNv
dXJjZUxvYWRlciBMZWdhY3lSZWNlaXZlciB7CiAgICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNz
KTogV2UnbGwgbmVlZCBtdWNoIG1vcmUgZ3JhbnVsYXJpdHkgZm9yIHJlc3BvbnNlIG1lc3NhZ2Vz
LgogICAgIFdpbGxTZW5kUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlKQogICAgIERpZFNlbmRE
YXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KQotICAg
IERpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSByZXNwb25zZSwgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZv
LCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAgIERpZFJl
Y2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSByZXNwb25zZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9v
bCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZl
RGF0YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5n
dGgpCiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERp
ZEZhaWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggYmUxNjdhMi4uNjgzNDg3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJX
ZWJGcmFtZUxvYWRlckNsaWVudC5oIgogCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmgiCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGVCYWNrRm9yd2FyZExpc3RJdGVtLmgiCkBAIC01MSw2ICs1MCw3IEBACiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0
Lmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9ET01XcmFwcGVyV29ybGQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RvY3Vt
ZW50TG9hZGVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGNi
NWQ4ZDQuLjkyMjBlZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBA
IC01MSw2ICs1MSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2VHcm91cDsKIGNs
YXNzIFJlc291cmNlUmVxdWVzdDsKIHN0cnVjdCBQbHVnaW5JbmZvOworI2lmICFFTkFCTEUoTkVU
V09SS19QUk9DRVNTKSAmJiBVU0UoU09VUCkKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKKyNlbmRp
ZgogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTcyLDEwICs3NSw2IEBAIHN0cnVjdCBXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiBj
bGFzcyBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb247CiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRTY2hl
ZHVsZXI7Ci0jZWxzZQotI2lmIFVTRShTT1VQKQotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwotI2Vu
ZGlmCiAjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQpAQCAtMTc0LDcgKzE3
Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUFjdGl2ZVBhZ2VzKCk7CiAKICNpZiAhRU5B
QkxFKE5FVFdPUktfUFJPQ0VTUykgJiYgVVNFKFNPVVApCi0gICAgdm9pZCBhbGxvd1NwZWNpZmlj
SFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3Ry
aW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9z
dChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOwog
I2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggYTA5ZmY1Ni4uNzE4ZDhmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAt
ODQsNiArODQsNiBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICNl
bmRpZgogCiAjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQotICAgIEFs
bG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OkNlcnRpZmljYXRlSW5m
byBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKKyAgICBBbGxvd1NwZWNpZmljSFRUUFND
ZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBX
VEY6OlN0cmluZyBob3N0KQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAppbmRleCBjMGMyMDZjLi42OTFkYjNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAK
QEAgLTIxMCw3ICsyMTAsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnNldElnbm9yZVRMU0Vycm9ycyhi
b29sIGlnbm9yZVRMU0Vycm9ycykKIH0KIAogI2lmICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKQot
dm9pZCBXZWJQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29u
c3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGNvbnN0IFN0cmluZyYgaG9zdCkK
K3ZvaWQgV2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNv
bnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBjb25zdCBTdHJp
bmcmIGhvc3QpCiB7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNldENsaWVudENlcnRp
ZmljYXRlKGhvc3QsIGNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218684</attachid>
            <date>2013-12-08 05:56:58 -0800</date>
            <delta_ts>2013-12-09 05:37:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124720-20131208145656.patch</filename>
            <type>text/plain</type>
            <size>77356</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBiM2Y2MDI1MGUxNzU5
ZjExNmNkODQ3NmQ0MjhkNWIzY2I3YzlkNi4uMTk3OGU1MjMyNmUyMmEwMDFlMzhlNjliMDU3ZTJk
MWE3N2RjMzc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTEyLTA4ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBDZXJ0aWZp
Y2F0ZUluZm8gdG8gV2ViQ29yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI0NzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQmFzZWQgb24gdGhlIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gPHNreXVsQGNv
bXBhbnkxMDAubmV0PgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZv
Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5m
by5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0ZUNo
YWluKTogQWRkZWQsIGJlY2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLm1tLgorICAg
ICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8pOiBNb3ZlZCBl
bmNvZGUoKSBhbmQgZGVjb2RlKCkgdG8gV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tLgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAg
IChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyk6IE1vdmVkIGVuY29k
ZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmg6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAg
KFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGUpOiBBZGRlZCwgYmVjYXVz
ZSBXZWJDb3JlQXJndW1lbnRDb2RlcnMgbmVlZHMgaXQuCisgICAgICAgIChXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm86OnNldFRMU0Vycm9ycyk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVu
dENvZGVycyBuZWVkcyBpdC4KKwogMjAxMy0xMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTVNFXSBCcmluZyBlbmQtb2Ytc3RyZWFtIGFsZ29yaXRobSBz
ZWN0aW9uIHVwIHRvIGN1cnJlbnQgc3BlYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0ODkyZTEwMGNkNjgzOWI2
ZDJjMmFiNGJjZDljN2RmYjI0MjY1MTk3Li42MTRhMzJjNjNjMTVhZWM3N2FjMjQ5ZTJhNzAzMzI5
Y2E1ZDI1YWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTMtMTItMDggIENzYWJh
IE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIENlcnRpZmlj
YXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dhbmcgWXVsIFNlbyA8c2t5dWxAY29t
cGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW06CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6
CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9jL21h
Yy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRp
b24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFyZWQv
QXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW06CisgICAgICAg
ICogU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmg6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZXNz
YWdlRGVjb2Rlcjo6YmFzZURlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNlcnRpZmljYXRl
SW5mby5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNhdGVJbmZvKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0ZUluZm8pOgor
ICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoQ29y
ZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAq
IFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1dl
YkNvcmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKiBTaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwOgorICAgICAgICAqIFNoYXJl
ZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwOgorICAgICAgICAoQ29yZUlQQzo6
OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9y
bURhdGEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRlSW5m
b1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVu
dGlhbCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QpOgorCiAyMDEzLTEyLTA4
ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgW1dLMl0g
QWRkIFVOSVhfRE9NQUlOX1NPQ0tFVFMgc3BlY2lmaWMgYml0cyBmb3Igc3VwcG9ydGluZyBOZXR3
b3JrUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNmI0NWI5MzU2ZjJk
OWRmZDllZGVkZjc4OGU3YjEzMjdmOGM1Yjk4YS4uNjEzZjUwMTI4YzAzZWRiOGFiODNhOWM2ZDlj
YmQ0NDcwMTA3NDQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NDQ4LDYg
KzU0NDgsNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmggXAorCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9CbG9iU3RvcmFnZURhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oIFwKQEAgLTU0NjcsNiArNTQ2OCw3IEBA
IHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8u
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291
cC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJT
b3VwLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVTdG9y
YWdlU291cC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21h
a2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAxZTk5NTg4NzZmMDgz
OTI2NzA5NmEwNjI0NDY2MWM3MDZiNzYyOTEzLi42MWQ3OWRkZjRiNmJjM2RhMDVjOWQzOTc0ZjZi
ODU1ODE2OTBlY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMTUyLDYgKzE1Miw3
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL25ldHdvcmsvZWZs
L05ldHdvcmtTdGF0ZU5vdGlmaWVyRWZsLmNwcAogCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvQ2VydGlmaWNhdGVJbmZvLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVK
YXJTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdlU291cC5j
cHAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCA1NTc3NzQyYTVhMjU5MWQ0MmQ2YjEzZmVjODRm
NGYxMGU3M2Q0NjA2Li45OTNjMjU4NDllNGNhMDJjMzNlZmI4MmExNjcwMmJjOTFlMjZlYTJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTg3LDYgKzE4Nyw3IEBAIGxpc3QoQVBQRU5E
IFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL25ldHdvcmsvZ3RrL0NyZWRlbnRpYWxCYWNr
aW5nU3RvcmUuY3BwCiAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25D
aGFsbGVuZ2VTb3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUlu
Zm8uY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwCiAgICAg
cGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAgIHBsYXRmb3Jt
L25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CmluZGV4IDMxM2RhN2E4NzA5Nzg4NjhmNzg0N2FkMTE3NGM5ZjE1OWFiZGE3NmMuLjBmODNhOTg4
Nzg1Y2VlMzQ2YTRiNTQwNTJjMmQ5NTMzZDk2NTA4ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBA
IC02Nyw2ICs2Nyw5IEBAIF9fWk4zV1RGMTBTdHJpbmdJbXBsY3ZQOE5TU3RyaW5nRXYKIF9fWk4z
V1RGMTJBdG9taWNTdHJpbmczYWRkRVBLMTBfX0NGU3RyaW5nCiBfX1pOM1dURjZTdHJpbmdDMUVQ
OE5TU3RyaW5nCiBfX1pOM1dURjZTdHJpbmdDMUVQSzEwX19DRlN0cmluZworX19aTjdXZWJDb3Jl
MTVDZXJ0aWZpY2F0ZUluZm9DMUVSS05TXzE2UmVzb3VyY2VSZXNwb25zZUUKK19fWk43V2ViQ29y
ZTE1Q2VydGlmaWNhdGVJbmZvQzFFUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUxNUNlcnRpZmlj
YXRlSW5mb0MxRXYKIF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRVJLTlNfN0ludFJlY3RFCiBf
X1pON1dlYkNvcmUxMENsaWVudFJlY3RDMUVSS05TXzlGbG9hdFJlY3RFCiBfX1pON1dlYkNvcmUx
MENsaWVudFJlY3RDMUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMjY5MTRkNTFlNTVjMTMyMWZjNDU2NTczNWRlMzQ1NTZlNWE1
ZWY1Mi4uZWUwMzc5ZjFkYTk3MTQ4ZTRmOGEwOWZhMjNiNjg5ODlhMmQ5NDVhYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk1
Miw3ICsxOTUyLDEwIEBACiAJCTVERjdGNUMyMEYwMUY5MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0
eU5hbWVzLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2NTY1ODBFRjA5RDEyQjIwMDAwRTYxRDcgLyogQ1NTUHJvcGVydHlOYW1l
cy5oICovOyB9OwogCQk1REZFOEY1NjBEMTY0NzdCMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3
OEJBMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovOyB9OwogCQk1REZF
OEY1NzBEMTY0NzdDMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYg
LyogU2NoZWR1bGVkQWN0aW9uLmggKi87IH07CisJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAv
KiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZv
TWFjLm1tICovOyB9OworCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJ
bmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJE
QkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1
QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0Lmgg
Ki87IH07CisJCTVGRTFEMjkyMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RkUxRDI5
MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovOyB9OwogCQk2MjZDREUw
RTExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4
IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKIAkJNjI2Q0RFMEYxMTQwNDI0QzAwMUU1
QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwRDExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmln
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk2MjhEMjE0QzEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyOEQyMTRCMTIxMzFFRDEw
MDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NzE4LDcgKzg3MjEsMTAgQEAKIAkJNURBOTdFQ0Mx
NjhFNzg3QjAwMEUzNjc2IC8qIFN5c3RlbVZlcnNpb25NYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1WZXJzaW9uTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1REIxQkM2ODEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291
cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2OTEwNzE1QTY0MDBFRkFBNDkg
LyogVHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENlcnRpZmljYXRl
SW5mb01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTgxNzhFMzM2
OTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRUYXJnZXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29y
ayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBw
ZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gLi4vLi4vLi4v
Li4vLi4vU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdvcms7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0
aWFsTmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
cGF0aWFsTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNE
RTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTcGF0aWFsTmF2aWdhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRl
eHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya2luZ0NvbnRleHQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNTkzLDYgKzEzNTk5LDcgQEAKIAkJ
CWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTVGRTFEMjkyMTc4RkQxRjMwMDFBQTNDMyAvKiBT
ZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQlGRDJEQkYxMjEyQjA0OEEz
MDBFRDk4QzYgLyogQWNjZWxlcmF0ZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5
M0YxOUIxMzA4MjQ1RTU5MDAxRTlBQkMgLyogQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLywKIAkJCQlGRDJEQkYxMzEyQjA0OEEzMDBFRDk4QzYgLyogQXVkaW9U
b29sYm94LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLApAQCAtMTM5NTUsNiArMTM5NjIsNyBA
QAogCQkwODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogV2ViS2l0ICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMg
LyogU2VjdXJpdHkuZnJhbWV3b3JrICovLAogCQkJCTY1Qzk3QUYyMDhFQTkwODgwMEFDRDI3MyAv
KiBjb25maWcuaCAqLywKIAkJCQlFREVDOTgwMjBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVBy
ZWZpeC5oICovLAogCQkJCTkzMDcwNjEzMDlFMENBODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNl
cy5tYWtlICovLApAQCAtMTU1MjEsNiArMTU1MjksOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJ
NTE0Qzc2NDIwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhlbnRpY2F0aW9uTWFjLmggKi8sCiAJCQkJ
NTE0Qzc2NDMwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhlbnRpY2F0aW9uTWFjLm1tICovLAorCQkJ
CTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLywKKwkJCQk1
RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJ
CUUxNDI0QzhGMTY0QjQ2MEIwMEYzMkQ0MCAvKiBDb29raWVKYXJNYWMubW0gKi8sCiAJCQkJRTEz
RjAxRjAxMjcwRTE5MDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFC
NENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENyZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovLApAQCAt
MjQyNTUsNiArMjQyNjUsNyBAQAogCQkJCTBGMTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0
Zm9ybUNBRmlsdGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcy
NkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2
NDIwNTAwMDIwMDgxIC8qIFBsYXRmb3JtQ0FMYXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDdDNTlCNTQxN0Y0QUMxNTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2su
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9y
bUNvb2tpZUphci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1
IC8qIFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0NTQsNiArMjg0NjUsNyBA
QAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3MkFGOEYxODExQkMzNzAwRkJBREI5IC8qIEpTRE9NUHJv
bWlzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyog
WmVyb1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2
IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkRGMTc2
Njg2RDkwMEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYy
RTMxNzY2ODZFQTAwRDgzNkE4IC8qIERvd25TYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTZFODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRp
ZmljYXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlm
aWNhdGVJbmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhiM2NkYWFiZDZiNjg1NDlhYjYxODk5MTUzZTgzYjFj
NDliMTQyYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL0NlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIENlcnRpZmljYXRlSW5mb19oCisjZGVmaW5lIENlcnRpZmljYXRlSW5mb19oCisKKyNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsK
K3B1YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0
ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOworICAgIGV4cGxpY2l0IENlcnRpZmljYXRl
SW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOworCisgICAgdm9pZCBzZXRDZXJ0aWZp
Y2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikgeyBtX2NlcnRpZmljYXRlQ2hh
aW4gPSBjZXJ0aWZpY2F0ZUNoYWluOyB9CisgICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOyB9CisKKyNpZm5kZWYg
TkRFQlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBS
ZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBDZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFj
Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIwM2M5Y2MzNzI2ZWI4YTk4Y2M1ZjBlYzhkYmViYzZiNTYxZjgzZTQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9D
ZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCitD
ZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25zZS5jZXJ0aWZpY2F0ZUNo
YWluKCkpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKENGQXJyYXlS
ZWYgY2VydGlmaWNhdGVDaGFpbikKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0
ZUNoYWluKQoreworfQorCisjaWZuZGVmIE5ERUJVRwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1
bXAoKSBjb25zdAoreworICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4g
PyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBO
U0xvZyhAIkNlcnRpZmljYXRlSW5mb1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4i
LCBlbnRyaWVzKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7
CisgICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2Vy
dGlmaWNhdGVDb3B5U3ViamVjdFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRW
YWx1ZUF0SW5kZXgobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xv
ZyhAIiAgJUAiLCAoTlNTdHJpbmcgKilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWZh
ZTRkYmYzMTAyNWIxOTRiZjU4MDlkYWZhZmMzOTAyZWZlOWQ4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAK
QEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZv
LmgiCisKKyNpbmNsdWRlIDxSZXNvdXJjZUVycm9yLmg+CisjaW5jbHVkZSA8UmVzb3VyY2VSZXNw
b25zZS5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxzRXJyb3Jz
KHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworQ2VydGlmaWNh
dGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Up
CisgICAgOiBtX2NlcnRpZmljYXRlKHJlc3BvbnNlLnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoKSkK
KyAgICAsIG1fdGxzRXJyb3JzKHJlc3BvbnNlLnNvdXBNZXNzYWdlVExTRXJyb3JzKCkpCit7Cit9
CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlRXJyb3Im
IHJlc291cmNlRXJyb3IpCisgICAgOiBtX2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3IuY2VydGlm
aWNhdGUoKSkKKyAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzPihyZXNvdXJjZUVycm9yLnRsc0Vycm9ycygpKSkKK3sKK30KKworQ2VydGlmaWNhdGVJbmZv
OjpDZXJ0aWZpY2F0ZUluZm8oR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSwgR1Rsc0NlcnRp
ZmljYXRlRmxhZ3MgdGxzRXJyb3JzKQorICAgIDogbV9jZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSkK
KyAgICAsIG1fdGxzRXJyb3JzKHRsc0Vycm9ycykKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+
Q2VydGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5m
by5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5m
by5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk0ZTRmZjU4NTUwODc1OGU1MGJhOTI1ZjU3NWQxYjk1YjJkZmU4MGMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
Q2VydGlmaWNhdGVJbmZvLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgQ2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgQ2VydGlmaWNh
dGVJbmZvX2gKKworI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHd0Zi9nb2Jq
ZWN0L0dSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZXNvdXJjZUVy
cm9yOworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKKworY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsK
K3B1YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0
ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworICAgIGV4cGxpY2l0IENl
cnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CisgICAgZXhwbGlj
aXQgQ2VydGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSosIEdUbHNDZXJ0aWZpY2F0ZUZsYWdz
KTsKKyAgICB+Q2VydGlmaWNhdGVJbmZvKCk7CisKKyAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQorICAgIHZvaWQg
c2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmlj
YXRlID0gY2VydGlmaWNhdGU7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMo
KSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsg
fQorCitwcml2YXRlOgorICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRl
OworICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM5ODAxYTAwYWY1YWE3ZDQwODVjMDQ1ZmMwN2U4NTk0MTAy
ZWM2MTcuLjRmOTA2NTI0OThmODYzZTNjMjk1OGQ5ODYwNzA1Y2EyYjIyODU2OGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDgxLDggKzQ4MSw2IEBAIHdlYmtpdDJfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlm
aWNhdGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJ
bmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50
U3RvcmFnZVR5cGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0
YXRlLmggXApAQCAtMTM2NSw4ICsxMzYzLDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0
aEd0ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNw
cCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNw
cCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0J
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtM
b2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9u
b3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKaW5kZXggYzU0M2EzZWUwZWYzNDZjNmUwOTVmYzYw
NWY1YzEwOTJjMWEzNTZjNy4uZDFjOTNkNDNkYzM5NzQ2NjA4ZjIwNGU3ZGNmOWM4MjljYThjZjNj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKQEAgLTI2LDExICsyNiwxMSBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFzeW5jaHJvbm91c05ldHdvcmtMb2Fk
ZXJDbGllbnQuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRh
dGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNs
dWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1
ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggODViNTZmODgyODFmYzA5ODAy
ZjRmNmNkZGEyYmQ1NTk2MWY0NjcwYi4uNmE5M2Q4MDc4MzE0M2VhN2Y0YzJlYmYzNDI4Y2Q2ZWJi
OTQzOGIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCkBAIC0zNSwxMCArMzUsMTIgQEAKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAotbmFtZXNwYWNlIFdlYktp
dCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87Cit9CiAKK25h
bWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyOwotY2xhc3MgQ2Vy
dGlmaWNhdGVJbmZvOwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBjbGFz
cyBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ7CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM7CkBAIC0xMDQsNyArMTA2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRvd25s
b2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25sb2FkSUQpOwog
ICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxvd1NwZWNpZmlj
SFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3Ry
aW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9z
dChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOwog
ICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQp
OwogICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2FjaGVzVG9DbGVh
cik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggMTJjNzI3NWViZDVjYzI5YjhjMmVjNDEwMzc4ZDkz
ZjA3NjkyM2RmNS4uMjAyMmNlZjk0ZjFiYTEyZGUwZDE0NWEwNGQzOWVmZDZhYmI1OGRmOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MubWVzc2FnZXMuaW4KQEAgLTM5LDcgKzM5LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nl
c3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9v
bCBmbGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFN0cmluZyBob3N0KQorICAg
IEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8gY2VydGlmaWNhdGUsIFN0cmluZyBob3N0KQogICAgIAogICAgIEdldE5ldHdvcmtQcm9j
ZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggNDMyZWM3NmNmM2FlZjljZjNmN2I4ODM2MTA5ZjQ2NmZmYmQxYzJkNy4uMmY4YTQ5Zjg4M2Ex
OTgzZDI3MzAwYTVhNGNhMjA0YWZiMDM1MTEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zMCw3ICsz
MCw2IEBACiAKICNpbmNsdWRlICJBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmgiCiAj
aW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJ
bmZvLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlICJOZXR3b3JrQmxvYlJlZ2lzdHJ5LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KaW5kZXggNTRmYWY2
YWRmNDhmOGYzNDE4NTcwMjkwZmY1YTJjMjg5ODM0YzJiNi4uMWExYjNlMDJmOWM1ZTdiMzUzMzEx
YjZhNzYyOWVjYjZjMjNhMjgyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQpAQCAtMjgsNyArMjgsNiBAQAogCiAj
aWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgi
CiAjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAi
TmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIu
aCIKQEAgLTM2LDYgKzM1LDcgQEAKICNpbXBvcnQgIlNhbmRib3hJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMuaCIKICNpbXBvcnQgIlNlY0l0ZW1TaGltLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRp
ZXMuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgog
I2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtl
CmluZGV4IDZkM2U3MTJiMWQ3ZDIwYzQ3YzhmMjY5MjIyYzQwMDQ4ZTZiMWNlM2QuLmU3MjY4NTg1
MjAyODkwYzU3MWJiN2RjM2E2MzMxMzAwMWMxMDQ5NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNt
YWtlCkBAIC00OSw3ICs0OSw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNo
YXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9T
ZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlm
aWNhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwCiAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUdUSy5jbWFrZQppbmRleCAxYjFjNTU0MDUwM2NiNzI3NTlkZTJhNDkzMWMxODdiNGM1NzZl
YWE2Li40ZDgxNzY2NzY0N2Y1YzEzYzEzYmFhZTFjOWQxMWZkNTY5NjY0MzI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybUdUSy5jbWFrZQpAQCAtNjEsNyArNjEsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NP
VVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBT
aGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJl
ZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1l
bnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZp
Y2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlm
aWNhdGVJbmZvTWFjLm1tCmluZGV4IDMyZWMwZjQ2ZTlkMGNjZTEyZjc3ZDI3OGIzODhiNzdmZmZm
MmZhNjMuLjMyZmEyMWZlMmViZmYzNmIwYTIxYTY5OGEwMWEwZDNmZWU2ZDE4MzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5m
b01hYy5tbQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0
ICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRl
SW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWlu
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCmluZGV4IDRmNjVlOWY2Nzg5ODdkMDQ3OTQzMDk5OTFl
ZTg1ZjRkMTU2MzM4MDkuLjQ5NzU5ODY3YWNmYzRlMjhjZjY2YWE3NGQxNWQ0YjU0NjQ4ODJmYTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50
aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRp
b24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKQEAgLTM0LDEzICszNCwxMyBAQAogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZTsKLSAgICBjbGFzcyBDcmVkZW50aWFsOworY2xhc3MgQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CitjbGFzcyBDcmVkZW50aWFs
OwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xh
c3MgQ2hpbGRQcm9jZXNzOwogY2xhc3MgRG93bmxvYWQ7CiBjbGFzcyBXZWJGcmFtZTsKQEAgLTU5
LDcgKzU5LDcgQEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmb3IgZG93bmxvYWRzIHdpdGggb3Ig
d2l0aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MKICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShEb3dubG9hZCosIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlJik7CiAKLSAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3Qg
Y2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBDZXJ0aWZpY2F0
ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFs
bGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVp
bnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAg
ICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikg
T1ZFUlJJREU7CiAKLSAgICBib29sIHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShj
b25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IENlcnRpZmljYXRl
SW5mbyYpOworICAgIGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0
IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJik7CiAKICAgICB1aW50NjRfdCBlc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxl
bmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1h
bmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGRhMTNmMzQzNWZhZmJkZTA3
ZTYxZTk4ODE3ODlhZTFhMzZmYTNiNWIuLjM0ZGI5YjIwOGJmMWZkMTczZDgxYTQ2Yzc2ZjhmODY0
NmRmM2Q1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpA
QCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBBdXRoZW50aWNh
dGlvbk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRf
dCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJLaXQ6OkNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hh
bGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRp
YWwsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250
aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsK
ICAgICB2b2lkIENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRp
b24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggNWVhN2Q3MWNlNDc1MjBi
MGI3OWEwM2VmMTBiNTc2NWIyNjc5NGM5YS4uYmQ4MTRjMzg4MTljMzk1Yzk0OTY1NjQ2YmRjNTRi
YmQ2NmU5YWUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpA
QCAtMjgsOSArMjgsOSBAQAogCiAjaWYgSEFWRShTRUNfSURFTlRJVFkpCiAKLSNpbmNsdWRlICJD
ZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRleCBiYWY5NzViMjg4MzI1
OTU0ZWNlNTI1YWVjZGNkYWYxMGFjMWYzOTQ2Li4zN2QyMzRhNTkyN2U1OTA1NGE4YjVjYTdjNDY0
ZDI0MGI0MmRlM2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3Nh
Z2VDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMu
aApAQCAtNTA0LDcgKzUwNCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OkNlcnRpZmljYXRlSW5mbzogewot
ICAgICAgICAgICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKKyAgICAgICAgICAg
IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiAgICAgICAgICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZv
OjpjcmVhdGUoY2VydGlmaWNhdGVJbmZvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0
aWZpY2F0ZUluZm8uaAppbmRleCBlOTAxZDMwOWFlZDRmMDc4YmViYjE2OWQ2ZDgwOGEzMWM2OWNm
OTQyLi5mZWNiOTRiYTU2NjBjZTQ1YjgxN2I1NGU0NzRkMjEzYjZhYzg1ZDNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywyNyArMjcsMjcgQEAK
ICNkZWZpbmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgot
I2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNh
dGVJbmZvLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbyA6IHB1YmxpYyBBUEk6OlR5cGVkT2JqZWN0
PEFQSTo6T2JqZWN0OjpUeXBlOjpDZXJ0aWZpY2F0ZUluZm8+IHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBDZXJ0aWZpY2F0
ZUluZm8mIGluZm8pCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBj
cmVhdGUoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDZXJ0aWZpY2F0ZUluZm8oaW5mbykpOwogICAgIH0K
IAotICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyBy
ZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KKyAgICBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZv
OyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IENl
cnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29u
c3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBpbmZvKQogICAgICAgICA6IG1fY2VydGlmaWNh
dGVJbmZvKGluZm8pCiAgICAgewogICAgIH0KIAotICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRp
ZmljYXRlSW5mbzsKKyAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUlu
Zm87CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggMjc4YTkyM2IwYzg0YjJkNTZiZDQ4
MGY3NDc0NWFkYzIwYTNiM2JlOC4uNjhmZmEzNjg3NzgyNWEzNDRjZWE0YmRlN2UwZmNiZTBiY2E3
YzUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29va2llLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9DcmVkZW50aWFsLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXJzb3Iu
aD4KQEAgLTkyLDYgKzkzLDIyIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxUcmFuc2Zvcm1hdGlvbk1h
dHJpeD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFRyYW5zCiAgICAgcmV0dXJu
IFNpbXBsZUFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+OjpkZWNvZGUoZGVjb2Rl
ciwgdHJhbnNmb3JtYXRpb25NYXRyaXgpOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlm
aWNhdGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQ2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgZW5jb2RlUGxhdGZvcm1EYXRhKGVu
Y29kZXIsIGNlcnRpZmljYXRlSW5mbyk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZp
Y2F0ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUlu
Zm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGU7
CisKKyAgICBpZiAoIWRlY29kZVBsYXRmb3JtRGF0YShkZWNvZGVyLCBjZXJ0aWZpY2F0ZSkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRl
OworCisgICAgcmV0dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxGbG9hdFBvaW50
Pjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgRmxvYXRQb2ludCYgZmxv
YXRQb2ludCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaAppbmRleCA1ZDk4MDUyN2IyZThmZDZjYzdmODA2YTFjYTQ3NGQ0N2ZiNzkyYTAxLi4yMzRk
MDVjODk4YWM0M2FmNzA1YTM4MjkzMGZjODI4NWRjNDAwMGYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZTsKK2NsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIENvbG9yOwogY2xh
c3MgQ3JlZGVudGlhbDsKIGNsYXNzIEN1cnNvcjsKQEAgLTEwMyw2ICsxMDQsMTMgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeD4g
ewogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2Rl
cjxXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJn
dW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3Rh
dGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byYpOworICAgIHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXIm
LCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNv
ZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZv
Jik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0
UG9pbnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRQb2ludCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERl
Y29kZXImLCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGRkYzc1
MTJjMGJjZTYyZGE5NTk5MGE3NTJiM2QwZjU4YzY5YzQ0My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRp
ZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpZm5kZWYgQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgQ2VydGlmaWNhdGVJbmZvX2gKLQot
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1lbnREZWNvZGVyOwot
Y2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3Mg
Q2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBl
eHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYp
OwotICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hh
aW4pOwotCi0gICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4g
bV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpB
cmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6
QXJndW1lbnREZWNvZGVyJiwgQ2VydGlmaWNhdGVJbmZvJik7Ci0KLSNpZm5kZWYgTkRFQlVHCi0g
ICAgdm9pZCBkdW1wKCkgY29uc3Q7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAgICBSZXRhaW5QdHI8
Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0Ci0KLSNlbmRpZiAvLyBDZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL0NlcnRpZmljYXRlSW5mby5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MjYwZWFiNmM2MzA0MWQ2OTRlOGE1ZTMyNzYwNzBjNWM5NWU4MTlmNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L0NlcnRpZmljYXRlSW5mby5tbQorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgot
Ci0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJBcmd1bWVudERlY29kZXIu
aCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJ
bmZvKCkKLXsKLX0KLQotQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRlQ2hhaW4ocmVzcG9u
c2UuY2VydGlmaWNhdGVDaGFpbigpKQotewotfQotCi1DZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmlj
YXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAgOiBtX2NlcnRpZmljYXRl
Q2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBDZXJ0aWZpY2F0ZUluZm86OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgaWYg
KCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjpl
bmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0KLQotYm9vbCBDZXJ0
aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENl
cnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0
ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
LSNpZm5kZWYgTkRFQlVHCi12b2lkIENlcnRpZmljYXRlSW5mbzo6ZHVtcCgpIGNvbnN0Ci17Ci0g
ICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFpbiA/IENGQXJyYXlHZXRDb3Vu
dChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKLQotICAgIE5TTG9nKEAiQ2VydGlmaWNh
dGVJbmZvXG4iKTsKLSAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIsIGVudHJpZXMpOwotICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsKLSAgICAgICAgUmV0YWlu
UHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlTdWJq
ZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX2Nl
cnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7Ci0gICAgICAgIE5TTG9nKEAiICAlQCIsIChOU1N0
cmluZyAqKXN1bW1hcnkuZ2V0KCkpOwotICAgIH0KLX0KLSNlbmRpZgotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNNYWMubW0KaW5kZXggZDY2YTJjOTg5MThiZGZmOWExMmI0MThhNTQ1MWE1MTcy
NTllZDg3NS4uMDc3ZTNkODdhZmY3Y2Y4NDJlY2Q1ZWMwMWVjMTU1ZjYzYzgwYjk1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNN
YWMubW0KQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEw
MCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI4LDE0ICsyOSwxMyBAQAogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCiAj
aW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW1wb3J0ICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNp
bXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZp
Y2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVz
dC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTM0LDYgKzEzNCwzNiBAQCBib29sIEFyZ3Vt
ZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERl
Y29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8
Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5j
b2RlciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZB
cnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hh
aW4oKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBm
YWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAg
ICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wg
QXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sK
KyAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSho
YXNDZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFo
YXNDZXJ0aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0
cjxDRkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2Rl
KGRlY29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdl
dCgpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5n
KGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05T
U3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hh
cio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllOTI1MTgyMmRmNGEzNmY5MWE0ZTlhNjA5MzRlNmQx
Mjk4NjUxZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDExNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBT
LkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0
ZUluZm8uaCIKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3Vt
ZW50RW5jb2Rlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2Uu
aD4KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1DZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5m
bygpCi0gICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4o
MCkpCi17Ci19Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNwb25zZS5zb3Vw
TWVzc2FnZUNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhyZXNwb25zZS5zb3VwTWVz
c2FnZVRMU0Vycm9ycygpKQotewotfQotCi1DZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5m
byhjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQotICAgIDogbV9jZXJ0aWZpY2F0
ZShyZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNf
Y2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50bHNFcnJvcnMoKSkpCi17
Ci19Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSog
Y2VydGlmaWNhdGUsIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykKLSAgICA6IG1fY2Vy
dGlmaWNhdGUoY2VydGlmaWNhdGUpCi0gICAgLCBtX3Rsc0Vycm9ycyh0bHNFcnJvcnMpCi17Ci19
Ci0KLUNlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgQ2Vy
dGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZh
bHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNh
dGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQo
KSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2Vy
dGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5
PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIu
ZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0
aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86
OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRp
ZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJl
bmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChj
ZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmlj
YXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlm
aWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBi
YWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5m
by5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVf
bmV3KAotICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQp
LCAwLCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgbnVsbHB0cikpKTsKLQot
ICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9y
cykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJv
cnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGViNTU4YWExODIxZTgxODIzZmRhZDk5NmZjNGQ5YTIxODJkZDA4ZTMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDZXJ0aWZpY2F0ZUlu
Zm9faAotI2RlZmluZSBDZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8bGlic291cC9zb3Vw
Lmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgQ29yZUlQ
QyB7Ci1jbGFzcyBBcmd1bWVudERlY29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFJlc291cmNlRXJyb3I7Ci1jbGFzcyBSZXNvdXJj
ZVJlc3BvbnNlOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgQ2VydGlmaWNhdGVJ
bmZvIHsKLXB1YmxpYzoKLSAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0
aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxp
Y2l0IENlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7Ci0gICAg
ZXhwbGljaXQgQ2VydGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSosIEdUbHNDZXJ0aWZpY2F0
ZUZsYWdzKTsKLSAgICB+Q2VydGlmaWNhdGVJbmZvKCk7Ci0KLSAgICBHVGxzQ2VydGlmaWNhdGUq
IGNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAg
IEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJy
b3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25z
dDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgQ2Vy
dGlmaWNhdGVJbmZvJik7Ci0KLXByaXZhdGU6Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+
IG1fY2VydGlmaWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIENlcnRpZmljYXRlSW5mb19o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRD
b2RlcnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVu
dENvZGVyc1NvdXAuY3BwCmluZGV4IDU0Yzk1ZjViMDQ1NTI4ZGU0ZjUzOGNmNjk0YWFkOTFiZTg0
Y2NmYzMuLjA3Y2QxMzY2NGM1MTFmYTlmODNhODMxMDgxZDc5ZmFkMTI5OGExNzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVy
c1NvdXAuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0
aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiArMjYsMTYgQEAK
ICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAiQ2VydGlmaWNh
dGVJbmZvLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVx
dWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBu
YW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTY3LDYgKzY4LDU1
IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1E
YXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQg
QXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bykKK3sKKyAgICBpZiAoIWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSB7CisgICAgICAg
IGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHQnl0ZUFy
cmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChjZXJ0
aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURh
dGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVuY29kZXIg
PDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7
CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZp
Y2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikp
OworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNlcnRpZmljYXRlSW5mby50
bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+Ojpk
ZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUlu
Zm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAgIGlm
ICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFS
ZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0
aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVy
ZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQo
Y2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZp
Y2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRp
ZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdUbHNCYWNr
ZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdSZWZQdHI8
R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FU
RShnX2luaXRhYmxlX25ldygKKyAgICAgICAgZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNhdGVf
dHlwZShiYWNrZW5kKSwgMCwgMCwgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQo
KSwgbnVsbHB0cikpKTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlm
aWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxzRXJyb3JzOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNlcnRpZmlj
YXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRs
c0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxS
ZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRl
SW5mb1ByaXZhdGUuaAppbmRleCA2ZmRiMjRmNjliZGU0OGUxMDkwZTI3ZmUwOWZkNjY3NjAzODI3
MTY5Li5hYjNmMWVmMzk0YzhlMmRmYjE0ZDU0YjlhMDEzZmYxYzM3MGU5NWM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Q
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q2Vy
dGlmaWNhdGVJbmZvUHJpdmF0ZS5oCkBAIC0yMCw5ICsyMCw5IEBACiAjaWZuZGVmIFdlYktpdENl
cnRpZmljYXRlSW5mb1ByaXZhdGVfaAogI2RlZmluZSBXZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2
YXRlX2gKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYktpdENl
cnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiBzdHJ1Y3QgX1dlYktpdENlcnRpZmljYXRlSW5m
byB7CiAgICAgX1dlYktpdENlcnRpZmljYXRlSW5mbyhHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmlj
YXRlLCBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpCkBAIC0zNSw5ICszNSw5IEBAIHN0
cnVjdCBfV2ViS2l0Q2VydGlmaWNhdGVJbmZvIHsKICAgICB7CiAgICAgfQogCi0gICAgV2ViS2l0
OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOworICAgIFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiB9OwogCi1jb25zdCBXZWJLaXQ6OkNlcnRpZmljYXRl
SW5mbyYgd2Via2l0Q2VydGlmaWNhdGVJbmZvR2V0Q2VydGlmaWNhdGVJbmZvKFdlYktpdENlcnRp
ZmljYXRlSW5mbyopOworY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiB3ZWJraXRDZXJ0
aWZpY2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUluZm8oV2ViS2l0Q2VydGlmaWNhdGVJbmZvKik7CiAK
ICNlbmRpZiAvLyBXZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggZGZhMWFi
MTJlMDM1MDA2Nzc4MWU0ZjQ3M2U2Zjk3ZDdjZDRhMDkwNS4uN2QwMjUwYWFmYzUzNzI5OWI0ZTZi
ZTQzMWZmMDQzM2UxZjE3ZjFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKLSNpbmNsdWRlICJDZXJ0aWZp
Y2F0ZUluZm8uaCIKICNpbmNsdWRlICJJbWFnZU9wdGlvbnMuaCIKICNpbmNsdWRlICJXZWJDZXJ0
aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKQEAgLTYwLDYg
KzU5LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldl
YktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0ay5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvR093blB0clNvdXAuaD4KQEAgLTMwMjgsNyArMzAyOCw3IEBAIGdi
b29sZWFuIHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8oV2ViS2l0V2ViVmlldyogd2ViVmll
dywgR1Rsc0NlcnRpZmljYXRlKioKICAgICBpZiAoIW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJu
IEZBTFNFOwogCi0gICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBt
YWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5jZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBjb25z
dCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+
Y2VydGlmaWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0
ZSkKICAgICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7
CiAgICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVBy
b3h5LmNwcAppbmRleCA4ZDIwYzc2NjhlMjVlNTVjYmM4ZTkxYWMxMDcxOWZlYzc2Mzc0N2UzLi5k
NTU3M2RhY2E4MzJkZGVlZTQ2MWNmMWIzMTFmMjE3ZmMzMjgwNmU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFs
KiBjcmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhl
bnRpY2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSht
X2NoYWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAgICAgIFdlYkNlcnRpZmljYXRlSW5m
byogY2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0gICAg
ICAgIENlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0
aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygpIDogQ2VydGlmaWNhdGVJbmZvKCk7CisgICAg
ICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0aWZpY2F0ZUlu
Zm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygpIDogV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6QXV0aGVu
dGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQs
IGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggOWQyMzZkM2NjNGMzOTEz
OTViZWZlOGIwNTRkMDY3NjJiODYwZWIxNS4uNDc2YWM0MTA0NzQwMDhhNDlhZjE2MjE3N2UzODc5
ZDc2N2Y2MTNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNw
cApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZCgpCiAgICAgbV9mcmFtZUxvYWRTdGF0ZS5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7
CiB9CiAKLXZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNv
bnRlbnRUeXBlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3ZvaWQg
V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBj
b25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICBt
X2ZyYW1lTG9hZFN0YXRlLmRpZENvbW1pdExvYWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJGcmFtZVByb3h5LmgKaW5kZXggMDg3ZWJiYzMxZDBlNTVmYmYyMDc1NzRmMWRkZWE4Mzcy
NGY2YWMzMS4uZTBlMWI4MTRjNzgyM2ZkNTM3ZGJhMTg0NGI4YTM1YTVlN2I5ZTcwMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCkBAIC00MCw5ICs0MCwxMSBAQCBu
YW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsKIH0KIAotbmFtZXNwYWNl
IFdlYktpdCB7Ci0KK25hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENlcnRpZmljYXRlSW5mbzsK
K30KKworbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFz
cyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHk7CkBAIC0xMDAsNyArMTAyLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkU3Rh
cnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkUmVjZWl2
ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAg
ICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWQo
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJik7CisgICAg
dm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZCgpOwogICAgIHZv
aWQgZGlkRmFpbExvYWQoKTsKICAgICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oY29u
c3QgU3RyaW5nJik7IC8vIGVnLiBhbmNob3IgbmF2aWdhdGlvbiwgc2Vzc2lvbiBzdGF0ZSBjaGFu
Z2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDkyMjFk
MjYwMTU3NWQ0MWZhZTNlYjFlYjQyZGRhZmIzOTZlY2I5OWYuLjg2NzlmMzc5YWVjOTM3ZGQ3NDdi
ZTY2ZjYzMDM5ZGE1MDg1NGRhYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCkBAIC0yMTM2LDcgKzIxMzYsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJM
b2FkRGVwZW5kZW50Q2FsbGJhY2tzKCkKICAgICB9CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojpk
aWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgdWludDMyX3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZv
JiBjZXJ0aWZpY2F0ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQordm9p
ZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBjb25z
dCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgQ29yZUlQQzo6TWVz
c2FnZURlY29kZXImIGRlY29kZXIpCiB7CiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1c2VyRGF0
YTsKICAgICBXZWJDb250ZXh0VXNlck1lc3NhZ2VEZWNvZGVyIG1lc3NhZ2VEZWNvZGVyKHVzZXJE
YXRhLCBwcm9jZXNzKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IDgzN2I4YjcwNzViNTMyNTk4MDZhYzNjYjY2YTkzYmRkN2QwNDJlZDEuLjliYjdlMzlkMjRl
N2Q1ZDY5NjMwNDUzZTc0NTUzYTAwZWJkZmRkOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKQEAgLTg3Nyw3ICs4NzcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlk
U3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNoYWJsZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURl
Y29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0
X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlw
ZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKKyAg
ICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJp
bmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmlu
aXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29y
ZUlQQzo6TWVzc2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDE5YzVmNTAxMjI1NmQxNTkzZWE3OTEwZjlj
MmI0MjhmMjMxZWU0ZTYuLjM5NTQzZmJkNDZlZmVkODYyM2MwZDBjZTM1NjAyNzNiZGE1ODVjMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgpAQCAtMTE3LDcgKzExNyw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAg
RGlkQ3JlYXRlU3ViZnJhbWUodWludDY0X3QgZnJhbWVJRCkKIAogICAgICMgRnJhbWUgbG9hZCBt
ZXNzYWdlcwotICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBTdHJp
bmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBj
ZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIg
dXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIFN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERp
ZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNv
ZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29k
ZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGZkMGNmNjdjZDk0M2YyZDA4MzdmMGVjNWU5YjM3
MDZiMDYzMzBhZS4uZjhjODM0M2VhM2E5NjczMGQwNDYyMDU1NGVlOTUzZGMzYzQ0YjYyYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTE3MSw4ICsxMTcxLDYgQEAKIAkJQkNGMTg2MzgxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hl
TW9kZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwICovOyB9OwogCQlCQ0Y0
REUyMzE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyMjE2OEU0QkQ1
MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi87IH07CiAJCUJDRjRERTI1
MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZD
IC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi87IH07Ci0JCUJDRjUwNUU3MTI0MzA0N0IwMDU5
NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5m
by5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUw
NUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi87IH07CiAJCUJDRjUw
NzI4MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNzI2MTI0MzI5QUEwMDU5NTVB
RSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKIAkJQkNGNjlGODYxMTc2Q0Q2RjAwNDcx
QTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlD
bGllbnQuY3BwICovOyB9OwogCQlCQ0Y2OUY4NzExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9y
eUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNGNjlGODUxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCAqLzsgfTsKQEAg
LTI3NzcsOCArMjc3NSw2IEBACiAJCUJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1v
ZGVsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlTW9kZWwu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRB
RkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBwYXRoID0gTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNG
NERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnRleHRTdXBwbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZp
Y2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2VydGlmaWNhdGVJ
bmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU2MTI0MzA0N0IwMDU5
NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1l
d29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+Ijsg
fTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdl
Ykhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NzU0
LDggKzQ3NTAsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJk
VHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9y
dHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5t
bSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmgg
Ki8sCi0JCQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAq
LywKIAkJCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvTWFjLm1tICovLAog
CQkJCTJENDdCNTZBMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5t
bSAqLywKIAkJCQkyRDQ3QjU2QjE4MTA3MTRFMDAzQTNBRUUgLyogUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUuaCAqLywKQEAgLTU3NjUsNyArNTc1OSw2IEBACiAJCQkJQzU3NEE1ODExMkU2NjY4MTAw
MkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE5NTgyRDMx
NTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
RkNCMTg5MTdCQkZFMDMwMDM5NENEOCAvKiBTeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQu
aCBpbiBIZWFkZXJzICovLAotCQkJCUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZp
Y2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTAwRDRGMTgyRDZGNTAwMDA4N0RENyAv
KiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Q0M0M0FCQjEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzg3ODBGQzExNjFDMkI4MDBDQzI3NjggLyogUGxhdGZvcm1Qcm9jZXNz
SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCkBAIC03MTA0LDcgKzcwOTcsNiBAQAogCQkJCTJE
NDI5QkZEMTcyMUUyQzcwMEVDNjgxRiAvKiBQREZQbHVnaW5QYXNzd29yZEZpZWxkLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMkQyQURGMDkxNjM2MkRENTAwMTk3RTQ3IC8qIFBERlBsdWdpblRleHRB
bm5vdGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzcxQjMyREQxODRENjc0OTAwMTNFMkIy
IC8qIFdLTlNVUkxQcm90ZWN0aW9uU3BhY2UubW0gaW4gU291cmNlcyAqLywKLQkJCQlCQ0Y1MDVF
ODEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQTZGQjdEMjExRTY1MUUyMDBEQjEzNzEgLyogUGx1Z2luLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTMxQTY3RTBDMTY1QjJBOTkwMDZDQkE2NiAvKiBQbHVnSW5B
dXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGE1
Yjg0NDljNDc3MDZkY2Q1NTg2NDI1ZDUwM2NkMTdiMGY0ZTNkZDkuLmM3ZmI0ZDdlNjgxNTk2NmEy
ZmM4MjExZjFkNWI2Yzg5YzY3MTZmNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCkBAIC0zNiw2ICszNSw3IEBA
CiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3Jz
LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNh
dGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJy
b3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmgKaW5kZXggZmQyZWZhMmE5OWU5OTYxZjVkYjU5MWMwZWMwOThjZTM4NTYy
NzUzMS4uZjc0NTIxOTVjNDgzYTMzYzBjMjk5YzYzN2Q4MjE1OWE1ZjgwZmZhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNl
IFdlYkNvcmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVjdGlvblNwYWNl
OwogY2xhc3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpAQCAtNTAsNyAr
NTEsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVu
dGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdl
YlJlc291cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIgewpAQCAtNzYs
NyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYg
cmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1Nl
bnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Um
LCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVz
cG9uc2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0
ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3Nh
Z2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5j
ZSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3Vy
Y2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQo
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2Vz
LmluCmluZGV4IDk4YTg3OGZkZjAxNWUxNjA0OWE2MTA4N2Y5MmMzNmNjNjAyZjFhZDEuLjRhNjIw
NDJjNTVkNTQ0MjBlODA2NTYwZjJjMGJhMzNkM2JhOTg0MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
bWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2Fk
ZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xs
IG5lZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBX
aWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50
NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNl
aXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Ug
cmVzcG9uc2UsIFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBu
ZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9u
c2UsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHND
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAg
IERpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSkKICAgICBEaWRGYWlsUmVz
b3VyY2VMb2FkKFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwCmluZGV4IDQwMjIzNWNlYjdkMjllODcxNWYyNDdhMjNiNzUyMzNlN2Rk
NGRiYjQuLmIxYTk5OWRjZjRlYTM2MzAwYzU1MDEyYzk3MzBmYTE3OGRmNmVlOTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAi
V2ViRnJhbWVMb2FkZXJDbGllbnQuaCIKIAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdl
ci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5oIgpAQCAtNTIsNiArNTEsNyBAQAogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVj
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0RPTVdyYXBwZXJXb3JsZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1l
bnRMb2FkZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggY2I1
ZDhkNGU1M2NlYjkwODA2MTlmZGVhZDY1NTgyZTQ3YWNjODViYi4uOTIyMGVmZDhjYTE1YWYxZDQ1
OTJkZWQ4MTQxY2UzOTdlNWU4Y2QzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKQEAgLTUxLDYgKzUxLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZUdy
b3VwOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owogc3RydWN0IFBsdWdpbkluZm87CisjaWYgIUVO
QUJMRShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQorY2xhc3MgQ2VydGlmaWNhdGVJbmZv
OworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNzIsMTAgKzc1LDYgQEAgc3Ry
dWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJP
Q0VTUykKIGNsYXNzIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjsKIGNsYXNzIFdlYlJlc291cmNl
TG9hZFNjaGVkdWxlcjsKLSNlbHNlCi0jaWYgVVNFKFNPVVApCi1jbGFzcyBDZXJ0aWZpY2F0ZUlu
Zm87Ci0jZW5kaWYKICNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCkBAIC0x
NzQsNyArMTczLDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlQWN0aXZlUGFnZXMoKTsKIAog
I2lmICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0UoU09VUCkKLSAgICB2b2lkIGFsbG93
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBj
b25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNh
dGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYg
aG9zdCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA3ZWM0NmY2NjI2ZTRjMjY3
NjJjODRmNDM0NDAwOWVhZThjZDg2YWViLi4zNWFmNDI2NWNiNDA0NTZiNGY4NDRkYmFmNmI3Nzhi
YzMyMmMwZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluCkBAIC04NCw2ICs4NCw2IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVn
YWN5UmVjZWl2ZXIgewogI2VuZGlmCiAKICNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykgJiYg
VVNFKFNPVVApCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktp
dDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBTdHJpbmcgaG9zdCkKKyAgICBBbGxvd1Nw
ZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNl
cnRpZmljYXRlLCBTdHJpbmcgaG9zdCkKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKaW5kZXggYzBjMjA2YzUxMmY1ZTg2
ZDc2OGY2N2RjYjdmMTUxN2VhN2U5ZjYxZi4uNjkxZGIzYWRlZjE1ZmM0ZWJjNGNmMDY4ZDQ3NmUy
Zjk1ZGU5Zjc0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dl
YlByb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2Vi
UHJvY2Vzc1NvdXAuY3BwCkBAIC0yMTAsNyArMjEwLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRJ
Z25vcmVUTFNFcnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJvcnMpCiB9CiAKICNpZiAhRU5BQkxFKE5F
VFdPUktfUFJPQ0VTUykKLXZvaWQgV2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlm
aWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBjb25z
dCBTdHJpbmcmIGhvc3QpCit2b2lkIFdlYlByb2Nlc3M6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRp
ZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRl
SW5mbywgY29uc3QgU3RyaW5nJiBob3N0KQogewogICAgIFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjpzZXRDbGllbnRDZXJ0aWZpY2F0ZShob3N0LCBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUo
KSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218751</attachid>
            <date>2013-12-09 05:37:00 -0800</date>
            <delta_ts>2013-12-09 13:05:34 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>58278</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1NjRjNDU4Li45OTEyM2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTMtMTItMDkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dh
bmcgWXVsIFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm86OnNldENlcnRpZmljYXRlQ2hhaW4pOiBBZGRlZCwgYmVjYXVzZSBXZWJDb3JlQXJndW1lbnRD
b2RlcnMgbmVlZHMgaXQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0
aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRp
ZmljYXRlSW5mbyk6IE1vdmVkIGVuY29kZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNh
dGVJbmZvKTogTW92ZWQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIHRvIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZp
Y2F0ZSk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVudENvZGVycyBuZWVkcyBpdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKTogQWRkZWQsIGJl
Y2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorCiAyMDEzLTEyLTA5ICBNaWNo
YWwgUG90ZXJhbHNraSAgPG0ucG90ZXJhbHNraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBEYXRh
Q2xvbmVFcnJvciBleGNlcHRpb24gaXMgbm90IHRocm93biB3aGVuIHBvc3RNZXNzYWdlJ3Mgc2Vj
b25kIHBhcmFtZXRlciBpcyB0aGUgc291cmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpp
bmRleCBmNWY5NTg3Li40MGY1NmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAg
LTU0NDgsNiArNTQ0OCw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuaCBcCisJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JTdG9yYWdlRGF0YS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggXApAQCAtNTQ2Nyw2ICs1
NDY4LDcgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VT
b3VwLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29r
aWVKYXJTb3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nv
b2tpZUphclNvdXAuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nv
b2tpZVN0b3JhZ2VTb3VwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDFlOTk1
ODguLjYxZDc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xNTIsNiArMTUyLDcg
QEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0d29yay9lZmwv
TmV0d29ya1N0YXRlTm90aWZpZXJFZmwuY3BwCiAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VTb3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291
cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUph
clNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNw
cAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDU1Nzc3NDIuLjk5M2MyNTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtR1RLLmNtYWtlCkBAIC0xODcsNiArMTg3LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0d29yay9ndGsvQ3JlZGVudGlhbEJhY2tpbmdTdG9yZS5j
cHAKIAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNv
dXAuY3BwCisgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAg
ICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAKICAgICBwbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQ29va2llU3RvcmFnZVNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9z
b3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMzEz
ZGE3YS4uMGY4M2E5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTY3LDYgKzY3LDkgQEAgX19a
TjNXVEYxMFN0cmluZ0ltcGxjdlA4TlNTdHJpbmdFdgogX19aTjNXVEYxMkF0b21pY1N0cmluZzNh
ZGRFUEsxMF9fQ0ZTdHJpbmcKIF9fWk4zV1RGNlN0cmluZ0MxRVA4TlNTdHJpbmcKIF9fWk4zV1RG
NlN0cmluZ0MxRVBLMTBfX0NGU3RyaW5nCitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0Mx
RVJLTlNfMTZSZXNvdXJjZVJlc3BvbnNlRQorX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9D
MUVQSzlfX0NGQXJyYXkKK19fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvQzFFdgogX19aTjdX
ZWJDb3JlMTBDbGllbnRSZWN0QzFFUktOU183SW50UmVjdEUKIF9fWk43V2ViQ29yZTEwQ2xpZW50
UmVjdEMxRVJLTlNfOUZsb2F0UmVjdEUKIF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRXYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAyNjkxNGQ1Li5lZTAzNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xOTUyLDcgKzE5NTIsMTAgQEAKIAkJNURGN0Y1QzIw
RjAxRjkyQTAwNTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJC
MjAwMDBFNjFENyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3
N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVk
dWxlZEFjdGlvbi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hl
ZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsK
KwkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMz
MkQwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07CisJCTVGQTkwNENBMTc4
RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0
aWZpY2F0ZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYz
MjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKKwkJNUZFMUQyOTIxNzhGRDFGMzAw
MUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0
eS5mcmFtZXdvcmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICov
OyB9OwogCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0
MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAv
KiBOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3
MTgsNyArODcyMSwxMCBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVy
c2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3Rl
bVZlcnNpb25NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3
MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxp
YnhzbHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RjJEQkJFNzE3OEUzMzJE
MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZv
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyog
SlNFdmVudFRhcmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVu
dFRhcmdldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1RkUxRDI5MTE3OEZEMUYz
MDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0
eS5mcmFtZXdvcms7IHBhdGggPSAuLi8uLi8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2
Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRp
YWxOYXZpZ2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxO
YXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFF
RDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTM1OTMsNiArMTM1OTksNyBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhh
c2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJ
NUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdv
cmtzICovLAogCQkJCUZEMkRCRjEyMTJCMDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBB
cHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRC
RjEzMTJCMDQ4QTMwMEVEOThDNiAvKiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8sCkBAIC0xMzk1NSw2ICsxMzk2Miw3IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMw
NyAvKiBXZWJLaXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCTVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJ
CQkJNjVDOTdBRjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAy
MEFFRDdFMTcwMDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUw
Q0E4MjAwQjE3RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xNTUyMSw2ICsxNTUy
OSw4IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1MTRDNzY0MjBDRTkyMzRFMDA3RUYzQ0QgLyog
QXV0aGVudGljYXRpb25NYWMuaCAqLywKIAkJCQk1MTRDNzY0MzBDRTkyMzRFMDA3RUYzQ0QgLyog
QXV0aGVudGljYXRpb25NYWMubW0gKi8sCisJCQkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8q
IENlcnRpZmljYXRlSW5mby5oICovLAorCQkJCTVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4NiAvKiBD
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi8sCiAJCQkJRTE0MjRDOEYxNjRCNDYwQjAwRjMyRDQwIC8q
IENvb2tpZUphck1hYy5tbSAqLywKIAkJCQlFMTNGMDFGMDEyNzBFMTkwMDBERkJBNzEgLyogQ29v
a2llU3RvcmFnZU1hYy5tbSAqLywKIAkJCQlFMUI0Q0QyNDEwQjMyMkUyMDBCRkZEN0UgLyogQ3Jl
ZGVudGlhbFN0b3JhZ2VNYWMubW0gKi8sCkBAIC0yNDI1NSw2ICsyNDI2NSw3IEBACiAJCQkJMEYx
MzE2M0UxNkVEMENDODAwMzVDQzA0IC8qIFBsYXRmb3JtQ0FGaWx0ZXJzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0OTNFNUUwOTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxh
eWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQg
LyogQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0M1OUI1NDE3RjRBQzE1
MDAwRkJDQkIgLyogQXVkaW9TdHJlYW1UcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE0MjRD
OEExNjRCM0I0RTAwRjMyRDQwIC8qIFBsYXRmb3JtQ29va2llSmFyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzVDNzYyQjE0OTdGRTE0MDBCQzQ3NzUgLyogUGxhdGZvcm1FdmVudC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yODQ1NCw2ICsyODQ2NSw3IEBACiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEz
MzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTcyQUY4
RjE4MTFCQzM3MDBGQkFEQjkgLyogSlNET01Qcm9taXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUZENTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk1RjJEQkJFOTE3OEUzQzgxMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYyREYxNzY2ODZEOTAwRDgzNkE4IC8qIFVwU2FtcGxlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDE3NjJFMzE3NjY4NkVBMDBEODM2QTggLyogRG93blNh
bXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkU4NEU5RTAxNzY2OEJFRTAwODE1QjY4IC8q
IFJhc3RlclNoYXBlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mby5oCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFt
ZSBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKcmVuYW1l
IHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mby5o
CmluZGV4IDRkZGM3NTEuLmM4YjNjZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvLmgKQEAgLTI5LDI0ICsyOSwxNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
IAotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1lbnREZWNvZGVyOwotY2xhc3MgQXJn
dW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKIHB1YmxpYzoKICAgICBDZXJ0aWZpY2F0ZUlu
Zm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYpOworICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJik7CiAgICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2Vy
dGlmaWNhdGVDaGFpbik7CiAKKyAgICB2b2lkIHNldENlcnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJl
ZiBjZXJ0aWZpY2F0ZUNoYWluKSB7IG1fY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hh
aW47IH0KICAgICBDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4oKSBjb25zdCB7IHJldHVybiBt
X2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCk7IH0KIAotICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciYpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpB
cmd1bWVudERlY29kZXImLCBDZXJ0aWZpY2F0ZUluZm8mKTsKLQogI2lmbmRlZiBOREVCVUcKICAg
ICB2b2lkIGR1bXAoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0Kc2ltaWxhcml0eSBpbmRleCA3NSUKcmVu
YW1lIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8ubW0KcmVu
YW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5m
b01hYy5tbQppbmRleCAyNjBlYWI2Li4yMDNjOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTI2LDEzICsyNiw3IEBA
CiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgogCi0jaW1w
b3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJBcmd1bWVudERlY29kZXIuaCIKLSNp
bXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQot
bmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CiAKIENlcnRpZmljYXRlSW5m
bzo6Q2VydGlmaWNhdGVJbmZvKCkKIHsKQEAgLTQ4LDMyICs0Miw2IEBAIENlcnRpZmljYXRlSW5m
bzo6Q2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKIHsKIH0KIAot
dm9pZCBDZXJ0aWZpY2F0ZUluZm86OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAg
ZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIg
PDwgdHJ1ZTsKLSAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWlu
LmdldCgpKTsKLX0KLQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1
bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhh
c0NlcnRpZmljYXRlQ2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0
ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0
ZUNoYWluKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2Rl
KGRlY29kZXIsIGMubV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KICNpZm5kZWYgTkRFQlVHCiB2b2lkIENlcnRpZmljYXRl
SW5mbzo6ZHVtcCgpIGNvbnN0CiB7CkBAIC04OCw0ICs1Niw0IEBAIHZvaWQgQ2VydGlmaWNhdGVJ
bmZvOjpkdW1wKCkgY29uc3QKIH0KICNlbmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL0NlcnRpZmljYXRlSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcApzaW1pbGFyaXR5IGluZGV4IDUyJQpyZW5hbWUgZnJv
bSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCnJlbmFtZSB0
byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNw
cAppbmRleCA5ZTkyNTE4Li5kNWZhZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCkBAIC0yNiwxNiArMjYsMTEgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKIAotI2luY2x1
ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgotI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3Iu
aD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDxSZXNv
dXJjZUVycm9yLmg+CisjaW5jbHVkZSA8UmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPGxp
YnNvdXAvc291cC5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdl
YktpdCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNh
dGVJbmZvKCkKICAgICA6IG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzPigwKSkKQEAgLTY0LDUzICs1OSw0IEBAIENlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRl
SW5mbygpCiB7CiB9CiAKLXZvaWQgQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJn
dW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZSkg
ewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsKLSAgICBnX29iamVjdF9nZXQoR19P
QkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURh
dGEsIE5VTEwpOwotICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7Ci0gICAgICAgIGVuY29kZXIg
PDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRydWU7
Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZp
Y2F0ZURhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikp
OwotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fdGxzRXJyb3JzKTsKLX0K
LQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQotewotICAgIGJvb2wg
aGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZSkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGUpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZpY2F0
ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0
ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9u
ZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7Ci0gICAgY2VydGlmaWNhdGVEYXRh
ID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURhdGEsIGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIEdS
ZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRh
KTsKLQotICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVs
dCgpOwotICAgIGNlcnRpZmljYXRlSW5mby5tX2NlcnRpZmljYXRlID0gYWRvcHRHUmVmKEdfVExT
X0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KAotICAgICAgICBnX3Rsc19iYWNrZW5kX2dldF9j
ZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLCAiY2VydGlmaWNhdGUiLCBjZXJ0aWZpY2F0
ZS5nZXQoKSwgbnVsbHB0cikpKTsKLQotICAgIHVpbnQzMl90IHRsc0Vycm9yczsKLSAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBj
ZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJvcnMgPSBzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4odGxzRXJyb3JzKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5oCnNpbWlsYXJpdHkgaW5kZXggOTAlCnJl
bmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oCnJl
bmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJ
bmZvLmgKaW5kZXggZWI1NThhYS4uOTRlNGZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5oCkBAIC0zMCwxNyArMzAsMTAgQEAKICNp
bmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+
CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFy
Z3VtZW50RW5jb2RlcjsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgeworCiBjbGFzcyBSZXNvdXJj
ZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIENlcnRpZmljYXRlSW5mbyB7CiBwdWJsaWM6CkBAIC01MSwxNiArNDQsMTUgQEAg
cHVibGljOgogICAgIH5DZXJ0aWZpY2F0ZUluZm8oKTsKIAogICAgIEdUbHNDZXJ0aWZpY2F0ZSog
Y2VydGlmaWNhdGUoKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9CisgICAg
dm9pZCBzZXRDZXJ0aWZpY2F0ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2Vy
dGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZTsgfQogICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vy
cm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0KLSAgICB2b2lkIGVuY29kZShD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
Q29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCBz
ZXRUTFNFcnJvcnMoR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3Jz
ID0gdGxzRXJyb3JzOyB9CiAKIHByaXZhdGU6CiAgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+
IG1fY2VydGlmaWNhdGU7CiAgICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7CiB9
OwogCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIENlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGI3MWI3YS4uMjYzMjdkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTEyLTA5ICBDc2FiYSBPc3p0cm9nb27D
oWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBDZXJ0aWZpY2F0ZUluZm8gdG8g
V2ViQ29yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI0NzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QmFzZWQgb24gdGhlIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBhbnkxMDAubmV0
PgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdv
cmtQcm9jZXNzTWFjLm1tOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAq
IFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZp
Y2F0ZUluZm9NYWMubW06CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50
aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9V
c2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURlY29kZXI6
OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OmNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6V2ViQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKiBT
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5j
b2RlKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVkL21hYy9XZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW06CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3JtRGF0YSk6
CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hh
cmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcDoKKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAg
ICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3Vw
L1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6YWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KToKKwogMjAxMy0xMi0wOSAgU2VyZ2lvIFZp
bGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0syXSBBZGQgVU5J
WF9ET01BSU5fU09DS0VUUyBzcGVjaWZpYyBiaXRzIGZvciBzdXBwb3J0aW5nIE5ldHdvcmtQcm9j
ZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291
cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAxMzM4ZjZhLi5hODYxMWY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTUyMiw4ICs1MjIsNiBAQCB3ZWJraXQy
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktp
dDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmggXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3Vw
L0NlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRp
ZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVy
c2lzdGVudFN0b3JhZ2VUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNv
cmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVGV4dENo
ZWNrZXJTdGF0ZS5oIFwKQEAgLTE0MTUsOCArMTQxMyw2IEBAIHdlYmtpdDJfcGx1Z2luX3Byb2Nl
c3Nfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFj
dG9yeS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBD
YWlyby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5j
cHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNO
ZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Fz
eW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IGM1NDNhM2UuLmQxYzkzZDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05l
dHdvcmtMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yNiwxMSArMjYsMTEgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVy
Q2xpZW50LmgiCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJEYXRh
UmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVk
ZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZm
ZXIuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDg1YjU2ZjguLjZhOTNkODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAt
MzUsMTAgKzM1LDEyIEBACiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKLW5hbWVzcGFjZSBXZWJLaXQgeworbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworfQogCituYW1lc3BhY2UgV2Vi
S2l0IHsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsKLWNsYXNzIENlcnRpZmljYXRlSW5m
bzsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogY2xhc3MgTmV0d29ya1By
b2Nlc3NTdXBwbGVtZW50Owogc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OwpAQCAtMTA0LDcgKzEwNiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZFJlcXVlc3Qo
dWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAg
ICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsKICAgICB2b2lkIHNl
dENhY2hlTW9kZWwodWludDMyX3QpOwotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlm
aWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7
CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICAgICB2b2lkIGdl
dE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lk
IGNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hlc1RvQ2xlYXIpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1l
c3NhZ2VzLmluCmluZGV4IDEyYzcyNzUuLjIwMjJjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0z
OSw3ICszOSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNlbmRpZgogCi0g
ICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlLCBTdHJpbmcgaG9zdCkKKyAgICBBbGxvd1NwZWNpZmljSFRUUFND
ZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBT
dHJpbmcgaG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0
X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDQzMmVjNzYuLjJmOGE0OWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiQXN5bmNocm9u
b3VzTmV0d29ya0xvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdl
ci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Jsb2JSZWdpc3Ry
eS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdv
cmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdv
cmtQcm9jZXNzTWFjLm1tCmluZGV4IDU0ZmFmNmEuLjFhMWIzZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAg
LTI4LDcgKzI4LDYgQEAKIAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAKLSNpbXBvcnQg
IkNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgogI2ltcG9ydCAiUmVz
b3VyY2VDYWNoZXNUb0NsZWFyLmgiCkBAIC0zNiw2ICszNSw3IEBACiAjaW1wb3J0ICJTYW5kYm94
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJTZWNJdGVtU2hpbS5oIgogI2lt
cG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5m
by5oPgogI2ltcG9ydCA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xv
Y2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA5ZjUzNzZjLi4zNDRhYmYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUVmbC5jbWFrZQpAQCAtNDksNyArNDksNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJD
RVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFy
ZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9z
b3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRD
b2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dl
YktpdDIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMWIxYzU1NC4uNGQ4MTc2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIv
UGxhdGZvcm1HVEsuY21ha2UKQEAgLTYxLDcgKzYxLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9T
T1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCiAgICAg
U2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCiAKLSAgICBTaGFy
ZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlm
aWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRp
ZmljYXRlSW5mb01hYy5tbQppbmRleCAzMmVjMGY0Li4zMmZhMjFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0K
QEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgIldLQVBJQ2FzdC5oIgogI2ltcG9ydCAiV2ViQ2Vy
dGlmaWNhdGVJbmZvLmgiCiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKIAogV0tDZXJ0aWZpY2F0ZUluZm9SZWYgV0tDZXJ0aWZpY2F0ZUluZm9DcmVh
dGVXaXRoQ2VydGZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlv
bk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50
aWNhdGlvbk1hbmFnZXIuaAppbmRleCA0ZjY1ZTlmLi40OTc1OTg2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
TWFuYWdlci5oCkBAIC0zNCwxMyArMzQsMTMgQEAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
Ci0gICAgY2xhc3MgQ3JlZGVudGlhbDsKK2NsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwor
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOworY2xhc3MgQ3JlZGVudGlhbDsKIH0KIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIENoaWxkUHJvY2VzczsK
IGNsYXNzIERvd25sb2FkOwogY2xhc3MgV2ViRnJhbWU7CkBAIC01OSw3ICs1OSw3IEBAIHB1Ymxp
YzoKICAgICAvLyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdv
cmtQcm9jZXNzCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93
bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAg
dm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25z
dCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9p
ZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBX
ZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAg
ICAgdm9pZCBjb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNo
YWxsZW5nZUlEKTsKICAgICB2b2lkIGNhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCk7CiAgICAgCkBAIC02OSw3ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgLy8gQ29yZUlQQzo6TWVz
c2FnZVJlY2VpdmVyCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6
OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCi0gICAg
Ym9vbCB0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0
aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBib29s
IHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogCiAg
ICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5nZShjb25zdCBXZWJDb3Jl
OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5tZXNzYWdlcy5pbgppbmRleCBkYTEzZjM0Li4zNGRiOWIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25NYW5hZ2VyIHsKLSAgICB2b2lkIFVz
ZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNy
ZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUp
OworICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGUpOwogICAgIHZvaWQgQ29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBDYW5jZWxDaGFsbGVuZ2Uo
dWludDY0X3QgY2hhbGxlbmdlSUQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWFjLm1tCmluZGV4IDVlYTdkNzEuLmJkODE0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tYWMubW0KQEAgLTI4LDkgKzI4LDkgQEAKIAogI2lmIEhBVkUoU0VDX0lE
RU5USVRZKQogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8U2VjdXJp
dHkvU2VjSWRlbnRpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2Vy
TWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJz
LmgKaW5kZXggYmFmOTc1Yi4uMzdkMjM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJN
ZXNzYWdlQ29kZXJzLmgKQEAgLTUwNCw3ICs1MDQsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpDZXJ0aWZp
Y2F0ZUluZm86IHsKLSAgICAgICAgICAgIENlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87
CisgICAgICAgICAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOwog
ICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjZXJ0aWZpY2F0ZUluZm8pKQogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNvZGVyLm1fcm9vdCA9IFdlYkNl
cnRpZmljYXRlSW5mbzo6Y3JlYXRlKGNlcnRpZmljYXRlSW5mbyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXggZTkwMWQzMC4uZmVjYjk0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaApAQCAtMjcsMjcgKzI3LDI3
IEBACiAjZGVmaW5lIFdlYkNlcnRpZmljYXRlSW5mb19oCiAKICNpbmNsdWRlICJBUElPYmplY3Qu
aCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRp
ZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm8gOiBwdWJsaWMgQVBJOjpUeXBlZE9i
amVjdDxBUEk6Ok9iamVjdDo6VHlwZTo6Q2VydGlmaWNhdGVJbmZvPiB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjcmVhdGUoY29uc3QgQ2VydGlm
aWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5m
bz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2VydGlmaWNhdGVJbmZvKGluZm8pKTsKICAg
ICB9CiAKLSAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0
IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9CisgICAgY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX2NlcnRpZmljYXRl
SW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25z
dCBDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgZXhwbGljaXQgV2ViQ2VydGlmaWNhdGVJbmZv
KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykKICAgICAgICAgOiBtX2NlcnRp
ZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAKLSAgICBDZXJ0aWZpY2F0ZUluZm8gbV9j
ZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIG1fY2VydGlmaWNh
dGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDI3OGE5MjMuLjY4ZmZhMzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
CkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQ3JlZGVudGlhbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Vyc29yLmg+CkBA
IC05Miw2ICs5MywyMiBAQCBib29sIEFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+
OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBUcmFucwogICAgIHJldHVybiBTaW1w
bGVBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0cml4Pjo6ZGVjb2RlKGRlY29kZXIsIHRy
YW5zZm9ybWF0aW9uTWF0cml4KTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRl
SW5mbz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVy
LCBjZXJ0aWZpY2F0ZUluZm8pOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJ
bmZvPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBj
ZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlOworCisg
ICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgY2VydGlmaWNhdGUpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0ZTsKKwor
ICAgIHJldHVybiB0cnVlOworfQogCiB2b2lkIEFyZ3VtZW50Q29kZXI8RmxvYXRQb2ludD46OmVu
Y29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEZsb2F0UG9pbnQmIGZsb2F0UG9p
bnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgK
aW5kZXggNWQ5ODA1Mi4uMjM0ZDA1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBDb2xvcjsKIGNsYXNzIENyZWRlbnRpYWw7
CiBjbGFzcyBDdXJzb3I7CkBAIC0xMDMsNiArMTA0LDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg+IHsKICAgICBzdGF0aWMg
Ym9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRy
aXgmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYs
IGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29k
ZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKKyAgICBzdGF0
aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlUGxhdGZvcm1EYXRh
KEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworfTsKKwogdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFBvaW50PiB7CiAgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29y
ZTo6RmxvYXRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dl
YkNvcmVBcmd1bWVudENvZGVyc01hYy5tbQppbmRleCBkNjZhMmM5Li4wNzdlM2Q4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkNvcmVBcmd1bWVudENvZGVyc01h
Yy5tbQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAw
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjgsMTQgKzI5LDEzIEBACiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKICNp
bXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgogI2lt
cG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCisjaW1wb3J0IDxXZWJDb3JlL0NlcnRpZmlj
YXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
IAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC0xMzQsNiArMTM0LDM2IEBAIGJvb2wgQXJndW1l
bnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxD
ZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBDRkFy
cmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFp
bigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikgeworICAgICAgICBlbmNvZGVyIDw8IGZh
bHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAg
IENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKTsKK30KKworYm9vbCBB
cmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVu
dERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQorewor
ICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhh
c0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhh
c0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmV0YWluUHRy
PENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFDb3JlSVBDOjpkZWNvZGUo
ZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4uZ2V0
KCkpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBOU1N0cmluZyogbnNTdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgcmV0dXJuIHN0cmluZy5pbXBsKCkgPyBbTlNT
dHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6cmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFy
Kj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkgbGVuZ3RoOnN0cmluZy5sZW5ndGgoKV0gOiBAIiI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwCmluZGV4IDU0Yzk1ZjUuLjA3Y2QxMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBA
IC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEg
TW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiArMjYsMTYgQEAKICAqLwogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldl
YkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCisj
aW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTY3LDYgKzY4LDU1IEBAIGJvb2wgQXJn
dW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2Rl
cjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBp
ZiAoIWNlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSB7CisgICAgICAgIGVuY29kZXIgPDwg
ZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZp
Y2F0ZURhdGEgPSAwOworICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChjZXJ0aWZpY2F0ZUluZm8u
Y2VydGlmaWNhdGUoKSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwor
ICAgIGlmICghY2VydGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgR1JlZlB0
cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwor
ICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJl
ZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOworICAgIGVuY29k
ZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7
Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGVQbGF0Zm9y
bURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAo
IWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIENvcmVJUEM6OkRh
dGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEg
PSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkp
OworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVE
YXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZl
cmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlQnl0ZXMg
PSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKKworICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5k
ID0gZ190bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOworICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmlj
YXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxl
X25ldygKKyAgICAgICAgZ190bHNfYmFja2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5k
KSwgMCwgMCwgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgbnVsbHB0cikp
KTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkp
OworCisgICAgdWludDMyX3QgdGxzRXJyb3JzOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxz
RXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRU
TFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOwor
CisgICAgcmV0dXJuIHRydWU7Cit9CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9y
Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVz
b3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGUu
aAppbmRleCA2ZmRiMjRmLi5hYjNmMWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5o
CkBAIC0yMCw5ICsyMCw5IEBACiAjaWZuZGVmIFdlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGVf
aAogI2RlZmluZSBXZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlX2gKIAotI2luY2x1ZGUgIkNl
cnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYktpdENlcnRpZmljYXRlSW5mby5oIgogI2lu
Y2x1ZGUgIldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5m
by5oPgogCiBzdHJ1Y3QgX1dlYktpdENlcnRpZmljYXRlSW5mbyB7CiAgICAgX1dlYktpdENlcnRp
ZmljYXRlSW5mbyhHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlLCBHVGxzQ2VydGlmaWNhdGVG
bGFncyB0bHNFcnJvcnMpCkBAIC0zNSw5ICszNSw5IEBAIHN0cnVjdCBfV2ViS2l0Q2VydGlmaWNh
dGVJbmZvIHsKICAgICB7CiAgICAgfQogCi0gICAgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2Vy
dGlmaWNhdGVJbmZvOworICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUlu
Zm87CiB9OwogCi1jb25zdCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyYgd2Via2l0Q2VydGlmaWNh
dGVJbmZvR2V0Q2VydGlmaWNhdGVJbmZvKFdlYktpdENlcnRpZmljYXRlSW5mbyopOworY29uc3Qg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiB3ZWJraXRDZXJ0aWZpY2F0ZUluZm9HZXRDZXJ0aWZp
Y2F0ZUluZm8oV2ViS2l0Q2VydGlmaWNhdGVJbmZvKik7CiAKICNlbmRpZiAvLyBXZWJLaXRDZXJ0
aWZpY2F0ZUluZm9Qcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggZGZhMWFiMS4uN2QwMjUwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJW
aWV3LmgiCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJJbWFnZU9w
dGlvbnMuaCIKICNpbmNsdWRlICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJD
b250ZXh0TWVudUl0ZW0uaCIKQEAgLTYwLDYgKzU5LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJW
aWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgi
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Q2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvR093blB0ckd0ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0clNvdXAu
aD4KQEAgLTMwMjgsNyArMzAyOCw3IEBAIGdib29sZWFuIHdlYmtpdF93ZWJfdmlld19nZXRfdGxz
X2luZm8oV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1Rsc0NlcnRpZmljYXRlKioKICAgICBpZiAo
IW1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgY29uc3QgQ2VydGlmaWNh
dGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5j
ZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPmNlcnRpZmljYXRl
SW5mbygpOwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAgICAgICAgKmNlcnRpZmljYXRlID0gY2Vy
dGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlv
bi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAppbmRleCA4ZDIwYzc2Li5kNTU3M2Rh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBAIC02
Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3JlZGVu
dGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3JlZGVu
dGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAgICAg
IFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2VydGlm
aWNhdGVJbmZvKCk7Ci0gICAgICAgIENlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBjZXJ0
aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygpIDogQ2VydGlm
aWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUlu
Zm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygp
IDogV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+c2Vu
ZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hhbGxl
bmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwgMCk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKaW5k
ZXggOWQyMzZkMy4uNDc2YWM0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkRmFp
bFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV9mcmFtZUxvYWRTdGF0ZS5kaWRGYWlsUHJvdmlzaW9u
YWxMb2FkKCk7CiB9CiAKLXZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBT
dHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRl
bnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykK
IHsKICAgICBtX2ZyYW1lTG9hZFN0YXRlLmRpZENvbW1pdExvYWQoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKaW5kZXggMDg3ZWJiYy4uZTBlMWI4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCkBAIC00MCw5ICs0MCwxMSBAQCBu
YW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsKIH0KIAotbmFtZXNwYWNl
IFdlYktpdCB7Ci0KK25hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENlcnRpZmljYXRlSW5mbzsK
K30KKworbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm87CiBjbGFz
cyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHk7CkBAIC0xMDAsNyArMTAyLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkU3Rh
cnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlkUmVjZWl2
ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAg
ICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENvbW1pdExvYWQo
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJik7CisgICAg
dm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZCgpOwogICAgIHZv
aWQgZGlkRmFpbExvYWQoKTsKICAgICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oY29u
c3QgU3RyaW5nJik7IC8vIGVnLiBhbmNob3IgbmF2aWdhdGlvbiwgc2Vzc2lvbiBzdGF0ZSBjaGFu
Z2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDJhZjMw
ZjMuLjViZGU2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC0yMTM2LDcgKzIxMzYsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJMb2FkRGVwZW5k
ZW50Q2FsbGJhY2tzKCkKICAgICB9CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWlu
dDMyX3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZp
Y2F0ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBXZWJQYWdl
UHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJp
bmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3Jl
OjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImIGRlY29kZXIpCiB7CiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1c2VyRGF0YTsKICAgICBX
ZWJDb250ZXh0VXNlck1lc3NhZ2VEZWNvZGVyIG1lc3NhZ2VEZWNvZGVyKHVzZXJEYXRhLCBwcm9j
ZXNzKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDgzN2I4
YjcuLjliYjdlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTg3Nyw3ICs4NzcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3Ry
aW5nJiB1bnJlYWNoYWJsZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAg
ICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNh
dGVJbmZvJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZENvbW1pdExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50
MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2
b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNz
YWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IDE5YzVmNTAuLjM5NTQzZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTE3LDcgKzExNyw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlkQ3JlYXRlU3ViZnJhbWUodWludDY0X3Qg
ZnJhbWVJRCkKIAogICAgICMgRnJhbWUgbG9hZCBtZXNzYWdlcwotICAgIERpZENvbW1pdExvYWRG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRU
eXBlLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5q
ZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlk
Q29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyBtaW1lVHlwZSwgdWlu
dDMyX3QgbG9hZFR5cGUsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8s
IFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlh
ZGljCiAgICAgRGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNv
ZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6
OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAg
IERpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
YzllMDE3NGUuLmQ4NjI2MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExNzEsOCArMTE3MSw2IEBACiAJCUJDRjE4NjM4MTY3
RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjE4NjM3MTY3RDA3MUUwMEExQTg1QSAvKiBDYWNoZU1v
ZGVsLmNwcCAqLzsgfTsKIAkJQkNGNERFMjMxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9j
ZXNzU3VwcGxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVu
dC5oICovOyB9OwogCQlCQ0Y0REUyNTE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
RjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oICovOyB9Owot
CQlCQ0Y1MDVFNzEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1
OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmggKi87IH07Ci0JCUJDRjUwNUU4MTI0MzA0N0IwMDU5
NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJ
bmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNh
dGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87IH07CiAJ
CUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3NkNENkYw
MDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcxMTc2Q0Q2
RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0
b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNzc2LDggKzI3NzQsNiBAQAogCQlCQ0YxODYzNzE2N0Qw
NzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQu
aDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0
U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250ZXh0
U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0Y1MDVFNTEyNDMw
NDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y1MDY4NDEyNDMxODYxMDA1OTU1QUUgLyogU2Vj
dXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBh
dGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdvcms7IHNvdXJj
ZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUJDRjUwNzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBX
ZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
Q2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjY5Rjg0
MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkhpc3RvcnlDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNDc1Miw4ICs0NzQ4LDYgQEAKIAkJCQlDNTc0QTU4MDEyRTY2Njgx
MDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tICovLAogCQkJCUUxOTU4MkQyMTUzQ0JGRDcw
MEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmggKi8sCiAJCQkJRTE5NTgyRDQxNTNDQzA1MzAwQjYw
ODc1IC8qIFBERktpdEltcG9ydHMubW0gKi8sCi0JCQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFF
IC8qIENlcnRpZmljYXRlSW5mby5oICovLAotCQkJCUJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAv
KiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8q
IFByaW50SW5mb01hYy5tbSAqLywKIAkJCQkyRDQ3QjU2QTE4MTA3MTRFMDAzQTNBRUUgLyogUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUubW0gKi8sCiAJCQkJMkQ0N0I1NkIxODEwNzE0RTAwM0EzQUVF
IC8qIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmggKi8sCkBAIC01NzYyLDcgKzU3NTYsNiBAQAog
CQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hyb25v
dXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0Y1MDVFNzEyNDMw
NDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUw
MEQ0RjE4MkQ2RjUwMDAwODdERDcgLyogV0tCcm93c2luZ0NvbnRleHRIYW5kbGVJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDNDNBQkIxMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3Jt
UG9wdXBNZW51RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4NzgwRkMxMTYxQzJCODAwQ0My
NzY4IC8qIFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNzEw
MSw3ICs3MDk0LDYgQEAKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1Z2lu
UGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUwMDE5
N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3
MUIzMkREMTg0RDY3NDkwMDEzRTJCMiAvKiBXS05TVVJMUHJvdGVjdGlvblNwYWNlLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5m
by5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0
Zm9ybVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFF
MjAwREIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIy
QTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLmNwcAppbmRleCBhNWI4NDQ5Yy4uYzdmYjRkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogCi0jaW5jbHVk
ZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKQEAg
LTM2LDYgKzM1LDcgQEAKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNs
dWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50TG9hZGVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VFcnJvci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCBmZDJlZmEyLi5mNzQ1MjE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9u
U3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1ZmZlcjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01
MCw3ICs1MSw2IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCi1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiB0eXBlZGVmIHVpbnQ2NF90IFJlc291cmNlTG9h
ZElkZW50aWZpZXI7CiAKIGNsYXNzIFdlYlJlc291cmNlTG9hZGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8V2ViUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlciB7CkBA
IC03Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKICAgICB2b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5
dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2b2lkIGRpZFJlY2Vp
dmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZSYsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZU1lc3NhZ2UpOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNl
TWVzc2FnZSk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBDb3JlSVBDOjpEYXRhUmVm
ZXJlbmNlJiwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9pZCBkaWRGaW5pc2hS
ZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpOwogICAgIHZvaWQgZGlkRmFpbFJlc291cmNl
TG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4KaW5kZXggOThhODc4Zi4uNGE2MjA0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNz
YWdlcy5pbgpAQCAtMjksNyArMjksNyBAQCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciBM
ZWdhY3lSZWNlaXZlciB7CiAgICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogV2UnbGwgbmVl
ZCBtdWNoIG1vcmUgZ3JhbnVsYXJpdHkgZm9yIHJlc3BvbnNlIG1lc3NhZ2VzLgogICAgIFdpbGxT
ZW5kUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlKQogICAgIERpZFNlbmREYXRhKHVpbnQ2NF90
IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KQotICAgIERpZFJlY2VpdmVS
ZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNw
b25zZSwgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29sIG5lZWRz
Q29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQorICAgIERpZFJlY2VpdmVSZXNwb25z
ZVdpdGhDZXJ0aWZpY2F0ZUluZm8oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwg
V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRp
bnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0YShDb3JlSVBD
OjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAgICAgRGlk
RmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZhaWxSZXNvdXJj
ZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKaW5kZXggNDAyMjM1Yy4uYjFhOTk5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJXZWJGcmFtZUxvYWRl
ckNsaWVudC5oIgogCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCi0jaW5jbHVk
ZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1
ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2Fy
ZExpc3RJdGVtLmgiCkBAIC01Miw2ICs1MSw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0
ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nocm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBjYjVkOGQ0Li45MjIwZWZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNTEsNiArNTEsOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlR3JvdXA7CiBjbGFzcyBSZXNvdXJjZVJl
cXVlc3Q7CiBzdHJ1Y3QgUGx1Z2luSW5mbzsKKyNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykg
JiYgVVNFKFNPVVApCitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CisjZW5kaWYKIH0KIAogbmFtZXNw
YWNlIFdlYktpdCB7CkBAIC03MiwxMCArNzUsNiBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczsKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQogY2xhc3MgTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uOwogY2xhc3MgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOwotI2Vsc2UK
LSNpZiBVU0UoU09VUCkKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsKLSNlbmRpZgogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKQEAgLTE3NCw3ICsxNzMsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygpOwogCiAjaWYgIUVOQUJMRShORVRXT1JLX1BS
T0NFU1MpICYmIFVTRShTT1VQKQotICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNh
dGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7Cisg
ICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluCmluZGV4IDdlYzQ2ZjYuLjM1YWY0MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTg0LDYgKzg0LDYgQEAg
bWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAjZW5kaWYKIAogI2lmICFF
TkFCTEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0UoU09VUCkKLSAgICBBbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUs
IFN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFN0cmluZyBob3N0KQogI2VuZGlm
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vz
c1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3Vw
LmNwcAppbmRleCA0ZmM0ZDIxLi4wNTQ0ODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKQEAgLTIzNiw3ICsyMzYsNyBAQCB2b2lk
IFdlYlByb2Nlc3M6OnNldElnbm9yZVRMU0Vycm9ycyhib29sIGlnbm9yZVRMU0Vycm9ycykKIH0K
IAogI2lmICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotdm9pZCBXZWJQcm9jZXNzOjphbGxvd1Nw
ZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8sIGNvbnN0IFN0cmluZyYgaG9zdCkKK3ZvaWQgV2ViUHJvY2Vzczo6YWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYgY2VydGlmaWNhdGVJbmZvLCBjb25zdCBTdHJpbmcmIGhvc3QpCiB7CiAgICAgV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6OnNldENsaWVudENlcnRpZmljYXRlKGhvc3QsIGNlcnRpZmljYXRl
SW5mby5jZXJ0aWZpY2F0ZSgpKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218793</attachid>
            <date>2013-12-09 13:05:34 -0800</date>
            <delta_ts>2013-12-12 03:20:36 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>57583</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YjY3MzQ2Li4wMzQ4MzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTMtMTItMDkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIENlcnRpZmljYXRlSW5mbyB0byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNlZCBvbiB0aGUgcGF0Y2ggYnkgS3dh
bmcgWXVsIFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFBsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L21hYy9DZXJ0aWZpY2F0ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm86OnNldENlcnRpZmljYXRlQ2hhaW4pOiBBZGRlZCwgYmVjYXVzZSBXZWJDb3JlQXJndW1lbnRD
b2RlcnMgbmVlZHMgaXQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvTWFjLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0
aWZpY2F0ZUluZm8ubW0uCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRp
ZmljYXRlSW5mbyk6IE1vdmVkIGVuY29kZSgpIGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmlj
YXRlSW5mby5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNh
dGVJbmZvKTogTW92ZWQgZW5jb2RlKCkgYW5kIGRlY29kZSgpIHRvIFdlYkNvcmVBcmd1bWVudENv
ZGVyc1NvdXAuY3BwLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmlj
YXRlSW5mby5oLgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZp
Y2F0ZSk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVudENvZGVycyBuZWVkcyBpdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0VExTRXJyb3JzKTogQWRkZWQsIGJl
Y2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorCiAyMDEzLTEyLTA5ICBwZWF2
b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10g
T3BlbkdMIGNvbXBpbGUgZXJyb3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA4
NDRhZDY4Li5iY2JiYWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU0NDgs
NiArNTQ0OCw3IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuaCBcCisJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JTdG9yYWdlRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggXApAQCAtNTQ2Nyw2ICs1NDY4LDcg
QEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTb3VwLmNw
cCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5m
by5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJT
b3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUph
clNvdXAuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0
b3JhZ2VTb3VwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5j
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDZhZTBlZjYuLmIz
ZDhlZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xNTIsNiArMTUyLDcgQEAgbGlz
dChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbmV0d29yay9lZmwvTmV0d29y
a1N0YXRlTm90aWZpZXJFZmwuY3BwCiAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VTb3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0
aWZpY2F0ZUluZm8uY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAu
Y3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAg
IHBsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtR1RLLmNtYWtlCmluZGV4IDMyOTkwMDlhLi41N2ZhODE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUdUSy5jbWFrZQpAQCAtMTg3LDYgKzE4Nyw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNF
UwogICAgIHBsYXRmb3JtL25ldHdvcmsvZ3RrL0NyZWRlbnRpYWxCYWNraW5nU3RvcmUuY3BwCiAK
ICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTb3VwLmNw
cAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgcGxh
dGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9D
cmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDMxM2RhN2Eu
LjBmODNhOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC02Nyw2ICs2Nyw5IEBAIF9fWk4zV1RG
MTBTdHJpbmdJbXBsY3ZQOE5TU3RyaW5nRXYKIF9fWk4zV1RGMTJBdG9taWNTdHJpbmczYWRkRVBL
MTBfX0NGU3RyaW5nCiBfX1pOM1dURjZTdHJpbmdDMUVQOE5TU3RyaW5nCiBfX1pOM1dURjZTdHJp
bmdDMUVQSzEwX19DRlN0cmluZworX19aTjdXZWJDb3JlMTVDZXJ0aWZpY2F0ZUluZm9DMUVSS05T
XzE2UmVzb3VyY2VSZXNwb25zZUUKK19fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvQzFFUEs5
X19DRkFycmF5CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRXYKIF9fWk43V2ViQ29y
ZTEwQ2xpZW50UmVjdEMxRVJLTlNfN0ludFJlY3RFCiBfX1pON1dlYkNvcmUxMENsaWVudFJlY3RD
MUVSS05TXzlGbG9hdFJlY3RFCiBfX1pON1dlYkNvcmUxMENsaWVudFJlY3RDMUV2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjY5
MTRkNS4uZWUwMzc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTk1Miw3ICsxOTUyLDEwIEBACiAJCTVERjdGNUMyMEYwMUY5
MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTY1ODBFRjA5RDEyQjIwMDAw
RTYxRDcgLyogQ1NTUHJvcGVydHlOYW1lcy5oICovOyB9OwogCQk1REZFOEY1NjBEMTY0NzdCMDA3
NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJBMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRB
Y3Rpb24uY3BwICovOyB9OwogCQk1REZFOEY1NzBEMTY0NzdDMDA3NkU5MzcgLyogU2NoZWR1bGVk
QWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmggKi87IH07CisJCTVG
MkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJEQkJFNzE3OEUzMzJEMDAx
NDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovOyB9OworCQk1RkE5MDRDQTE3OEU2MUY1
MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNh
dGVJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGQzdEQzI2Q0ZFMjU2MzIwMEI4
NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi87IH07CisJCTVGRTFEMjkyMTc4RkQxRjMwMDFBQTND
MyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJh
bWV3b3JrICovOyB9OwogCQk2MjZDREUwRTExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmln
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLzsgfTsK
IAkJNjI2Q0RFMEYxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZDREUwRDExNDA0MjRD
MDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2MjhEMjE0QzEyMTMxRUQxMDA1NURDRkMgLyogTmV0
d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NzE4LDcg
Kzg3MjEsMTAgQEAKIAkJNURBOTdFQ0MxNjhFNzg3QjAwMEUzNjc2IC8qIFN5c3RlbVZlcnNpb25N
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1WZXJz
aW9uTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2ODEwNzE1QTY0
MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFRyYW5zZm9ybVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
REIxQkM2OTEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTcxNzhFMzMyRDAwMTQx
NDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IENlcnRpZmljYXRlSW5mb01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNUYyREJCRTgxNzhFMzM2OTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZl
bnRUYXJnZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRUYXJn
ZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUZFMUQyOTExNzhGRDFGMzAwMUFB
M0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJh
bWV3b3JrOyBwYXRoID0gLi4vLi4vLi4vLi4vLi4vU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9T
ZWN1cml0eS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBD
MTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGF0aWFsTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2
aWdhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGF0aWFsTmF2aWdh
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjhEMjE0QjEyMTMxRUQxMDA1
NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTmV0d29ya2luZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEzNTkzLDYgKzEzNTk5LDcgQEAKIAkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOwog
CQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTVGRTFE
MjkyMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LywKIAkJCQlGRDJEQkYxMjEyQjA0OEEzMDBFRDk4QzYgLyogQWNjZWxlcmF0ZS5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5M0YxOUIxMzA4MjQ1RTU5MDAxRTlBQkMgLyogQXBwbGlj
YXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQlGRDJEQkYxMzEy
QjA0OEEzMDBFRDk4QzYgLyogQXVkaW9Ub29sYm94LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
LApAQCAtMTM5NTUsNiArMTM5NjIsNyBAQAogCQkwODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyog
V2ViS2l0ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1
RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovLAogCQkJCTY1
Qzk3QUYyMDhFQTkwODgwMEFDRDI3MyAvKiBjb25maWcuaCAqLywKIAkJCQlFREVDOTgwMjBBRUQ3
RTE3MDA1OTEzN0YgLyogV2ViQ29yZVByZWZpeC5oICovLAogCQkJCTkzMDcwNjEzMDlFMENBODIw
MEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5tYWtlICovLApAQCAtMTU1MjEsNiArMTU1MjksOCBA
QAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTE0Qzc2NDIwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhl
bnRpY2F0aW9uTWFjLmggKi8sCiAJCQkJNTE0Qzc2NDMwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhl
bnRpY2F0aW9uTWFjLm1tICovLAorCQkJCTVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0
aWZpY2F0ZUluZm8uaCAqLywKKwkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogQ2VydGlm
aWNhdGVJbmZvTWFjLm1tICovLAogCQkJCUUxNDI0QzhGMTY0QjQ2MEIwMEYzMkQ0MCAvKiBDb29r
aWVKYXJNYWMubW0gKi8sCiAJCQkJRTEzRjAxRjAxMjcwRTE5MDAwREZCQTcxIC8qIENvb2tpZVN0
b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENyZWRlbnRp
YWxTdG9yYWdlTWFjLm1tICovLApAQCAtMjQyNTUsNiArMjQyNjUsNyBAQAogCQkJCTBGMTMxNjNF
MTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgxIC8qIFBsYXRmb3JtQ0FMYXllckNs
aWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENl
cnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDNTlCNTQxN0Y0QUMxNTAwMEZC
Q0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0QzhBMTY0
QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFkZXJzICov
LApAQCAtMjg0NTQsNiArMjg0NjUsNyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAv
KiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3MkFGOEYxODEx
QkMzNzAwRkJBREI5IC8qIEpTRE9NUHJvbWlzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUz
NzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUZEMTc2MkRGMTc2Njg2RDkwMEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYyRTMxNzY2ODZFQTAwRDgzNkE4IC8qIERvd25TYW1wbGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0
ZXJTaGFwZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm8uaApzaW1pbGFyaXR5IGluZGV4IDg3JQpyZW5hbWUgZnJv
bSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5oCnJlbmFtZSB0byBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm8uaAppbmRl
eCA0ZGRjNzUxLi5jOGIzY2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L0NlcnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL0NlcnRpZmljYXRlSW5mby5oCkBAIC0yOSwyNCArMjksMTcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKLW5h
bWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIEFyZ3VtZW50
RW5jb2RlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIENlcnRpZmljYXRlSW5mbyB7CiBwdWJsaWM6CiAgICAgQ2VydGlmaWNhdGVJbmZvKCk7
Ci0gICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UmKTsKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOwogICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmlj
YXRlQ2hhaW4pOwogCisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2Vy
dGlmaWNhdGVDaGFpbikgeyBtX2NlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUNoYWluOyB9
CiAgICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpOyB9CiAKLSAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVu
dEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyJiwgQ2VydGlmaWNhdGVJbmZvJik7Ci0KICNpZm5kZWYgTkRFQlVHCiAgICAgdm9p
ZCBkdW1wKCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvQ2VydGlmaWNhdGVJbmZvLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tCnNpbWlsYXJpdHkgaW5kZXggNzUlCnJlbmFtZSBm
cm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLm1tCnJlbmFtZSB0
byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMu
bW0KaW5kZXggMjYwZWFiNi4uMjAzYzljYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0yNiwxMyArMjYsNyBAQAogI2lt
cG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJDZXJ0aWZpY2F0ZUluZm8uaCIKIAotI2ltcG9ydCAi
QXJndW1lbnRDb2RlcnNDRi5oIgotI2ltcG9ydCAiQXJndW1lbnREZWNvZGVyLmgiCi0jaW1wb3J0
ICJBcmd1bWVudEVuY29kZXIuaCIKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVz
cGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDZXJ0aWZpY2F0ZUluZm86OkNl
cnRpZmljYXRlSW5mbygpCiB7CkBAIC00OCwzMiArNDIsNiBAQCBDZXJ0aWZpY2F0ZUluZm86OkNl
cnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCiB7CiB9CiAKLXZvaWQg
Q2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAotewotICAgIGlmICghbV9jZXJ0aWZpY2F0ZUNoYWluKSB7Ci0gICAgICAgIGVuY29k
ZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBlbmNvZGVyIDw8IHRy
dWU7Ci0gICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIsIG1fY2VydGlmaWNhdGVDaGFpbi5nZXQo
KSk7Ci19Ci0KLWJvb2wgQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGMpCi17Ci0gICAgYm9vbCBoYXNDZXJ0
aWZpY2F0ZUNoYWluOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGVDaGFp
bikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghaGFzQ2VydGlmaWNhdGVDaGFp
bikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoIUNvcmVJUEM6OmRlY29kZShkZWNv
ZGVyLCBjLm1fY2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
IHJldHVybiB0cnVlOwotfQotCiAjaWZuZGVmIE5ERUJVRwogdm9pZCBDZXJ0aWZpY2F0ZUluZm86
OmR1bXAoKSBjb25zdAogewpAQCAtODgsNCArNTYsNCBAQCB2b2lkIENlcnRpZmljYXRlSW5mbzo6
ZHVtcCgpIGNvbnN0CiB9CiAjZW5kaWYKIAotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9D
ZXJ0aWZpY2F0ZUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0NlcnRpZmljYXRlSW5mby5jcHAKc2ltaWxhcml0eSBpbmRleCA1MiUKcmVuYW1lIGZyb20gU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcApyZW5hbWUgdG8gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKaW5k
ZXggOWU5MjUxOC4uZDVmYWU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvQ2VydGlmaWNhdGVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcApAQCAtMjYsMTYgKzI2LDExIEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAKLSNpbmNsdWRlICJB
cmd1bWVudERlY29kZXIuaCIKLSNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKLSNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+Ci0j
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CisjaW5jbHVkZSA8UmVzb3VyY2VF
cnJvci5oPgorI2luY2x1ZGUgPFJlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDxsaWJzb3Vw
L3NvdXAuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQg
eworbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5m
bygpCiAgICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4o
MCkpCkBAIC02NCw1MyArNTksNCBAQCBDZXJ0aWZpY2F0ZUluZm86On5DZXJ0aWZpY2F0ZUluZm8o
KQogewogfQogCi12b2lkIENlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBpZiAoIW1fY2VydGlmaWNhdGUpIHsKLSAg
ICAgICAgZW5jb2RlciA8PCBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEdC
eXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IDA7Ci0gICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNU
KG1fY2VydGlmaWNhdGUuZ2V0KCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBO
VUxMKTsKLSAgICBpZiAoIWNlcnRpZmljYXRlRGF0YSkgewotICAgICAgICBlbmNvZGVyIDw8IGZh
bHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAg
IEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVE
YXRhKTsKLSAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6
OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKLSAg
ICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihtX3Rsc0Vycm9ycyk7Ci19Ci0KLWJv
b2wgQ2VydGlmaWNhdGVJbmZvOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNv
ZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKLXsKLSAgICBib29sIGhhc0Nl
cnRpZmljYXRlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLQotICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRh
UmVmZXJlbmNlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJh
eShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOwotICAgIGNlcnRpZmljYXRlRGF0YSA9IGdf
Ynl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVu
Y2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBHUmVmUHRy
PEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0K
LSAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsK
LSAgICBjZXJ0aWZpY2F0ZUluZm8ubV9jZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJU
SUZJQ0FURShnX2luaXRhYmxlX25ldygKLSAgICAgICAgZ190bHNfYmFja2VuZF9nZXRfY2VydGlm
aWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwgImNlcnRpZmljYXRlIiwgY2VydGlmaWNhdGUuZ2V0
KCksIG51bGxwdHIpKSk7Ci0KLSAgICB1aW50MzJfdCB0bHNFcnJvcnM7Ci0gICAgaWYgKCFkZWNv
ZGVyLmRlY29kZSh0bHNFcnJvcnMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2VydGlm
aWNhdGVJbmZvLm1fdGxzRXJyb3JzID0gc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+
KHRsc0Vycm9ycyk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uaApzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5hbWUg
ZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uaApyZW5hbWUg
dG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5o
CmluZGV4IGViNTU4YWEuLjk0ZTRmZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMzAsMTcgKzMwLDEwIEBACiAjaW5jbHVk
ZSA8bGlic291cC9zb3VwLmg+CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogCi1u
YW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1bWVudERlY29kZXI7Ci1jbGFzcyBBcmd1bWVu
dEVuY29kZXI7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwogY2xhc3MgUmVzb3VyY2VFcnJv
cjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBDZXJ0aWZpY2F0ZUluZm8gewogcHVibGljOgpAQCAtNTEsMTYgKzQ0LDE1IEBAIHB1Ymxp
YzoKICAgICB+Q2VydGlmaWNhdGVJbmZvKCk7CiAKICAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRp
ZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQorICAgIHZvaWQg
c2V0Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmlj
YXRlID0gY2VydGlmaWNhdGU7IH0KICAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMo
KSBjb25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQotCi0gICAgdm9pZCBlbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciYsIENlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgc2V0VExT
RXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRs
c0Vycm9yczsgfQogCiBwcml2YXRlOgogICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2Nl
cnRpZmljYXRlOwogICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwogfTsKIAot
fSAvLyBuYW1lc3BhY2UgV2ViS2l0Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAv
LyBDZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDJmYTA5MjMuLjQzNTIwZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAxMy0xMi0wOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8
b3NzeUB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgQ2VydGlmaWNhdGVJbmZvIHRvIFdlYkNv
cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDcy
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhc2Vk
IG9uIHRoZSBwYXRjaCBieSBLd2FuZyBZdWwgU2VvIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKwor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHA6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJv
Y2Vzc01hYy5tbToKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0
Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJ
bmZvTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlv
bk1hbmFnZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25NYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9t
YWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbToKKyAgICAgICAgKiBTaGFyZWQvVXNlck1l
c3NhZ2VDb2RlcnMuaDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lc3NhZ2VEZWNvZGVyOjpiYXNl
RGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmg6CisgICAgICAg
IChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDZXJ0aWZpY2F0ZUluZm86OldlYkNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZSk6
CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzTWFjLm1tOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAg
ICAgICAoQ29yZUlQQzo6OjpkZWNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIFNoYXJlZC9z
b3VwL0NlcnRpZmljYXRlSW5mby5jcHA6CisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzU291cC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZVBsYXRmb3Jt
RGF0YSk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAod2Vi
a2l0X3dlYl92aWV3X2dldF90bHNfaW5mbyk6CisgICAgICAgICogVUlQcm9jZXNzL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50aWFsKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1l
UHJveHk6OmRpZENvbW1pdExvYWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mvc291cC9XZWJQ
cm9jZXNzU291cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmFsbG93U3BlY2lm
aWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6CisKIDIwMTMtMTItMDkgIFJ5dWFuIENob2kgIDxy
eXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gTGF5b3V0VGVzdHMg
YXJlIGJyb2tlbiBhZnRlciByMTYwMzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCAxMzM4ZjZhLi5hODYxMWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTUy
Miw4ICs1MjIsNiBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9TZXNzaW9uU3RhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRh
LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmggXAotCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmggXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvVGV4dENoZWNrZXJTdGF0ZS5oIFwKQEAgLTE0MTUsOCArMTQxMyw2IEBA
IHdlYmtpdDJfcGx1Z2luX3Byb2Nlc3Nfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktpdDIvU2hh
cmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9j
YWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9z
b3VwL0NlcnRpZmljYXRlSW5mby5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0Nl
cnRpZmljYXRlSW5mby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L1Byb2Nlc3NMYXVuY2hlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hl
ci9Qcm9jZXNzTGF1bmNoZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmlu
ZGV4IGM1NDNhM2UuLmQxYzkzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3Bw
CkBAIC0yNiwxMSArMjYsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBc3lu
Y2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmgiCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291
cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVk
ZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4
IDg1YjU2ZjguLjZhOTNkODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaApAQCAtMzUsMTAgKzM1LDEyIEBACiAjaW5jbHVkZSAiTmV0d29ya1Jl
c291cmNlTG9hZFNjaGVkdWxlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKLW5hbWVz
cGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZv
OworfQogCituYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjsK
LWNsYXNzIENlcnRpZmljYXRlSW5mbzsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Owogc3RydWN0IE5ldHdvcmtQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtMTA0LDcgKzEwNiw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBkb3dubG9hZFJlcXVlc3QodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3du
bG9hZElEKTsKICAgICB2b2lkIHNldENhY2hlTW9kZWwodWludDMyX3QpOwotICAgIHZvaWQgYWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYs
IGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5n
JiBob3N0KTsKICAgICB2b2lkIGdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBj
YWxsYmFja0lEKTsKICAgICB2b2lkIGNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNh
Y2hlc1RvQ2xlYXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDEyYzcyNzUuLjIwMjJjZWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLm1lc3NhZ2VzLmluCkBAIC0zOSw3ICszOSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9j
ZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJv
b2wgZmxhZykKICNlbmRpZgogCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JI
b3N0KFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBTdHJpbmcgaG9zdCkKKyAg
ICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvIGNlcnRpZmljYXRlLCBTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJv
Y2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmlu
ZGV4IDQzMmVjNzYuLjJmOGE0OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzAsNyArMzAsNiBAQAog
CiAjaW5jbHVkZSAiQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5oIgogI2luY2x1ZGUg
IkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya0Jsb2JSZWdpc3RyeS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCmluZGV4IDU0ZmFmNmEuLjFhMWIz
ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3Jr
UHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0
d29ya1Byb2Nlc3NNYWMubW0KQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVOQUJMRShORVRXT1JL
X1BST0NFU1MpCiAKLSNpbXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgogI2ltcG9ydCAiTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxv
YWRlci5oIgogI2ltcG9ydCAiUmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCkBAIC0zNiw2ICszNSw3
IEBACiAjaW1wb3J0ICJTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0
ICJTZWNJdGVtU2hpbS5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxX
ZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYktpdFN5
c3RlbUludGVyZmFjZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwu
Y21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA5ZjUzNzZjLi4z
NDRhYmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNDksNyArNDksNiBAQCBsaXN0
KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMv
U3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGlj
eS5jcHAKIAotICAgIFNoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQv
c291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1
bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
R1RLLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMWIxYzU1
NC4uNGQ4MTc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UK
KysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTYxLDcgKzYxLDYgQEAg
bGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0
ZXJzL1N5c2NhbGwuY3BwCiAgICAgU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQ
b2xpY3kuY3BwCiAKLSAgICBTaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hh
cmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9E
ZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzMmVjMGY0Li4zMmZh
MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlm
aWNhdGVJbmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tD
ZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgIldLQVBJQ2Fz
dC5oIgogI2ltcG9ydCAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCiAKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogV0tDZXJ0aWZpY2F0ZUluZm9SZWYg
V0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVXaXRoQ2VydGZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2Vy
dGlmaWNhdGVDaGFpbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAppbmRleCA0ZjY1ZTlmLi40OTc1
OTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCkBAIC0zNCwxMyArMzQsMTMgQEAKICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQXV0
aGVudGljYXRpb25DaGFsbGVuZ2U7Ci0gICAgY2xhc3MgQ3JlZGVudGlhbDsKK2NsYXNzIEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlOworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworY2xhc3MgQ3JlZGVu
dGlhbDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIENlcnRpZmljYXRlSW5mbzsK
IGNsYXNzIENoaWxkUHJvY2VzczsKIGNsYXNzIERvd25sb2FkOwogY2xhc3MgV2ViRnJhbWU7CkBA
IC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRo
IG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNzCiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2
NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgQ2VydGlm
aWNhdGVJbmZvJik7CisgICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90
IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgV2ViQ29yZTo6
Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBjb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9y
Q2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIGNhbmNlbENoYWxsZW5n
ZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgCkBAIC02OSw3ICs2OSw3IEBAIHByaXZhdGU6
CiAgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2Rl
ciYpIE9WRVJSSURFOwogCi0gICAgYm9vbCB0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVu
Z2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBDZXJ0aWZp
Y2F0ZUluZm8mKTsKKyAgICBib29sIHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShj
b25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYpOwogCiAgICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNo
YWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25NYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBkYTEzZjM0Li4zNGRi
OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIx
LDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRpb25N
YW5hZ2VyIHsKLSAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViS2l0OjpDZXJ0aWZp
Y2F0ZUluZm8gY2VydGlmaWNhdGUpOworICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5n
ZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUpOwogICAgIHZvaWQgQ29udGludWVX
aXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAg
dm9pZCBDYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlv
bk1hbmFnZXIubWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21h
Yy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCmluZGV4IDVlYTdkNzEuLmJkODE0YzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVu
dGljYXRpb25NYW5hZ2VyLm1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVu
dGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KQEAgLTI4LDkgKzI4LDkg
QEAKIAogI2lmIEhBVkUoU0VDX0lERU5USVRZKQogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSA8U2VjdXJpdHkvU2VjSWRlbnRpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0
ZUluZm8uaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKaW5kZXggYmFmOTc1Yi4uMzdkMjM0YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAgLTUwNCw3ICs1MDQsNyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSTo6
T2JqZWN0OjpUeXBlOjpDZXJ0aWZpY2F0ZUluZm86IHsKLSAgICAgICAgICAgIENlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZUluZm87CisgICAgICAgICAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGVJbmZvOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjZXJ0
aWZpY2F0ZUluZm8pKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg
IGNvZGVyLm1fcm9vdCA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKGNlcnRpZmljYXRlSW5m
byk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZv
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXggZTkw
MWQzMC4uZmVjYjk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRp
ZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUlu
Zm8uaApAQCAtMjcsMjcgKzI3LDI3IEBACiAjZGVmaW5lIFdlYkNlcnRpZmljYXRlSW5mb19oCiAK
ICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUluZm8g
OiBwdWJsaWMgQVBJOjpUeXBlZE9iamVjdDxBUEk6Ok9iamVjdDo6VHlwZTo6Q2VydGlmaWNhdGVJ
bmZvPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZv
PiBjcmVhdGUoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBpbmZvKQorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYgaW5mbykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2VydGlm
aWNhdGVJbmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9CisgICAg
Y29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7
IHJldHVybiBtX2NlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFdl
YkNlcnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCisgICAgZXhwbGlj
aXQgV2ViQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5m
bykKICAgICAgICAgOiBtX2NlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsKICAgICB9CiAKLSAg
ICBDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87CisgICAgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvIG1fY2VydGlmaWNhdGVJbmZvOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmlu
ZGV4IDI3OGE5MjMuLmUxZTY3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJTaGFy
ZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0Nvb2tpZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3JlZGVudGlhbC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvQ3Vyc29yLmg+CkBAIC05Miw3ICs5Myw2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxU
cmFuc2Zvcm1hdGlvbk1hdHJpeD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFRy
YW5zCiAgICAgcmV0dXJuIFNpbXBsZUFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+
OjpkZWNvZGUoZGVjb2RlciwgdHJhbnNmb3JtYXRpb25NYXRyaXgpOwogfQogCi0KIHZvaWQgQXJn
dW1lbnRDb2RlcjxGbG9hdFBvaW50Pjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgRmxvYXRQb2ludCYgZmxvYXRQb2ludCkKIHsKICAgICBTaW1wbGVBcmd1bWVudENvZGVy
PEZsb2F0UG9pbnQ+OjplbmNvZGUoZW5jb2RlciwgZmxvYXRQb2ludCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNWQ5ODA1Mi4uZmEyYmNj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApA
QCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNm
b3JtOwogY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0aWZpY2F0ZUlu
Zm87CiBjbGFzcyBDb2xvcjsKIGNsYXNzIENyZWRlbnRpYWw7CiBjbGFzcyBDdXJzb3I7CkBAIC0x
MDMsNiArMTA0LDExIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
VHJhbnNmb3JtYXRpb25NYXRyaXg+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnRE
ZWNvZGVyJiwgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKIH07CiAKK3RlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRQb2ludD4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShB
cmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CiAgICAgc3RhdGlj
IGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
TWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNN
YWMubW0KaW5kZXggZDY2YTJjOS4uMjlhYzZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDE0ICsyOSwxMyBA
QAogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCiAjaW1wb3J0ICJEYXRhUmVmZXJlbmNl
LmgiCi0jaW1wb3J0ICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUlu
dGVyZmFjZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQg
PFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9y
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBD
IHsKIApAQCAtMTM0LDYgKzEzNCwzNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNw
b25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogICAgIHJl
dHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5j
b2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlm
aWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4p
IHsKKyAgICAgICAgZW5jb2RlciA8PCBmYWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAgICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlm
aWNhdGVDaGFpbik7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+Ojpk
ZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29y
ZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGNlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZp
Y2F0ZUNoYWluLmdldCgpKTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJp
bmcqIG5zU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcu
aW1wbCgpID8gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgVW5pQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3Ro
KCldIDogQCIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCA1NGM5NWY1Li5iYmNkZGQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3Vw
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNTb3VwLmNwcApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAy
MDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9y
dGlvbnMgQ29weXJpZ2h0IChjKSAyMDEzIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsMTYgKzI2LDE2IEBA
CiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmlj
YXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJl
cXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcg
bmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02Nyw2ICs2OCw1
NSBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3Jt
RGF0YShBcmd1bWVudERlY29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lk
IEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAg
aWYgKCFjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUoKSkgeworICAgICAgICBlbmNvZGVyIDw8
IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2VydGlm
aWNhdGVEYXRhID0gMDsKKyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2VydGlmaWNhdGVJbmZv
LmNlcnRpZmljYXRlKCkpLCAiY2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsK
KyAgICBpZiAoIWNlcnRpZmljYXRlRGF0YSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZW5jb2RlciA8PCB0cnVlOworICAgIEdSZWZQ
dHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsK
KyAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICBlbmNv
ZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkp
OworfQorCitib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3Vt
ZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7
CisgICAgYm9vbCBoYXNDZXJ0aWZpY2F0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0Nl
cnRpZmljYXRlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZp
Y2F0ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNl
IGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFi
bGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2Fy
cmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBjZXJ0
aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlm
aWNhdGVEYXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUo
KSk7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0gYWRvcHRHUmVm
KGNlcnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2Jh
Y2tlbmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlm
aWNhdGUgPSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoCisgICAg
ICAgIGdfdGxzX2JhY2tlbmRfZ2V0X2NlcnRpZmljYXRlX3R5cGUoYmFja2VuZCksIDAsIDAsICJj
ZXJ0aWZpY2F0ZSIsIGNlcnRpZmljYXRlQnl0ZXMuZ2V0KCksIG51bGxwdHIpKSk7CisgICAgY2Vy
dGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmljYXRlLmdldCgpKTsKKworICAgIHVp
bnQzMl90IHRsc0Vycm9yczsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0
YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNFcnJvcnMpKTsKKworICAgIHJldHVy
biB0cnVlOworfQogCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmVuY29kZVBs
YXRmb3JtRGF0YShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFJlc291cmNlRXJyb3Im
IHJlc291cmNlRXJyb3IpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmgKaW5kZXggNmZk
YjI0Zi4uYWIzZjFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaApAQCAtMjAsOSAr
MjAsOSBAQAogI2lmbmRlZiBXZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlX2gKICNkZWZpbmUg
V2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZV9oCiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUlu
Zm8uaCIKICNpbmNsdWRlICJXZWJLaXRDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJL
aXRQcml2YXRlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KIAogc3Ry
dWN0IF9XZWJLaXRDZXJ0aWZpY2F0ZUluZm8gewogICAgIF9XZWJLaXRDZXJ0aWZpY2F0ZUluZm8o
R1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSwgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJy
b3JzKQpAQCAtMzUsOSArMzUsOSBAQCBzdHJ1Y3QgX1dlYktpdENlcnRpZmljYXRlSW5mbyB7CiAg
ICAgewogICAgIH0KIAotICAgIFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5m
bzsKKyAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOwogfTsKIAot
Y29uc3QgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8mIHdlYmtpdENlcnRpZmljYXRlSW5mb0dldENl
cnRpZmljYXRlSW5mbyhXZWJLaXRDZXJ0aWZpY2F0ZUluZm8qKTsKK2NvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYgd2Via2l0Q2VydGlmaWNhdGVJbmZvR2V0Q2VydGlmaWNhdGVJbmZvKFdl
YktpdENlcnRpZmljYXRlSW5mbyopOwogCiAjZW5kaWYgLy8gV2ViS2l0Q2VydGlmaWNhdGVJbmZv
UHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXcuY3BwCmluZGV4IGRmYTFhYjEuLjdkMDI1MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0yMSw3ICsyMSw2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogCi0j
aW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiSW1hZ2VPcHRpb25zLmgiCiAj
aW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJ
dGVtLmgiCkBAIC02MCw2ICs1OSw3IEBACiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUu
aCIKICNpbmNsdWRlICJXZWJLaXRXaW5kb3dQcm9wZXJ0aWVzUHJpdmF0ZS5oIgogI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRl
SW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0ljb24uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0dPd25QdHJHdGsuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dPd25QdHJTb3VwLmg+CkBAIC0zMDI4
LDcgKzMwMjgsNyBAQCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktp
dFdlYlZpZXcqIHdlYlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUp
CiAgICAgICAgIHJldHVybiBGQUxTRTsKIAotICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2Vy
dGlmaWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJ
bmZvKCk7CisgICAgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUlu
Zm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5jZXJ0aWZpY2F0ZUluZm8oKTsKICAg
ICBpZiAoY2VydGlmaWNhdGUpCiAgICAgICAgICpjZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlSW5m
by5jZXJ0aWZpY2F0ZSgpOwogICAgIGlmIChlcnJvcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKaW5kZXggOGQyMGM3Ni4uZDU1NzNkYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcApAQCAtNjYsNyArNjYsNyBA
QCB2b2lkIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwoV2ViQ3Jl
ZGVudGlhbCogY3JlZGVudGlhbCkKICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2Vz
OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OkNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFs
bGVuZ2UobV9jaGFsbGVuZ2VJRCksIDApOwogICAgIGVsc2UgewogICAgICAgICBXZWJDZXJ0aWZp
Y2F0ZUluZm8qIGNlcnRpZmljYXRlSW5mbyA9IGNyZWRlbnRpYWwtPmNlcnRpZmljYXRlSW5mbygp
OwotICAgICAgICBDZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZvID0gY2VydGlmaWNhdGVJbmZv
ID8gY2VydGlmaWNhdGVJbmZvLT5jZXJ0aWZpY2F0ZUluZm8oKSA6IENlcnRpZmljYXRlSW5mbygp
OworICAgICAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gcGxhdGZvcm1JbmZvID0gY2VydGlm
aWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZvLT5jZXJ0aWZpY2F0ZUluZm8oKSA6IFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbygpOwogICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6
OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6VXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxs
ZW5nZUlELCBjcmVkZW50aWFsLT5jb3JlKCksIHBsYXRmb3JtSW5mbyksIDApOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCmluZGV4IDlkMjM2ZDMu
LjQ3NmFjNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAK
QEAgLTEzOSw3ICsxMzksNyBAQCB2b2lkIFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQcm92aXNpb25h
bExvYWQoKQogICAgIG1fZnJhbWVMb2FkU3RhdGUuZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpOwog
fQogCi12b2lkIFdlYkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit2b2lkIFdl
YkZyYW1lUHJveHk6OmRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29u
c3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgbV9m
cmFtZUxvYWRTdGF0ZS5kaWRDb21taXRMb2FkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRnJhbWVQcm94eS5oCmluZGV4IDA4N2ViYmMuLmUwZTFiODEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaApAQCAtNDAsOSArNDAsMTEgQEAgbmFtZXNwYWNlIENv
cmVJUEMgewogICAgIGNsYXNzIENvbm5lY3Rpb247CiB9CiAKLW5hbWVzcGFjZSBXZWJLaXQgewot
CituYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87Cit9CisKK25hbWVz
cGFjZSBXZWJLaXQgewogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRm9ybVN1
Ym1pc3Npb25MaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5
OwpAQCAtMTAwLDcgKzEwMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRp
cmVjdEZvclByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkKCk7Ci0gICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmlu
ZyYgY29udGVudFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgZGlkQ29t
bWl0TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWQoKTsKICAgICB2b2lkIGRpZEZhaWxM
b2FkKCk7CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uKGNvbnN0IFN0cmluZyYp
OyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24gc3RhdGUgY2hhbmdlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAyYWYzMGYzLi41YmRlNjc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjEzNiw3
ICsyMTM2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyTG9hZERlcGVuZGVudENhbGxiYWNr
cygpCiAgICAgfQogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IG9wYXF1
ZUZyYW1lTG9hZFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBD
b3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRD
b21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSwgdWludDMyX3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVy
KQogewogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CiAgICAgV2ViQ29udGV4dFVz
ZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2Rlcih1c2VyRGF0YSwgcHJvY2VzcygpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA4MzdiOGI3Li45YmI3ZTM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC04NzcsNyArODc3
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdW5yZWFj
aGFibGVVUkwsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZl
U2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBjb25zdCBTdHJpbmcmLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlk
RmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQg
ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUsIHVpbnQzMl90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3QgZnJhbWVM
b2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5p
c2hMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXIm
KTsKICAgICB2b2lkIGRpZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCAxOWM1ZjUwLi4zOTU0M2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTExNyw3ICsxMTcsNyBAQCBtZXNzYWdlcyAtPiBX
ZWJQYWdlUHJveHkgewogICAgIERpZENyZWF0ZVN1YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAK
ICAgICAjIEZyYW1lIGxvYWQgbWVzc2FnZXMKLSAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgU3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViS2l0
OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxl
VXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERpZENvbW1pdExvYWRG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRU
eXBlLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERp
ZEZhaWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0
YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM5ZTAxNzRlLi5k
ODYyNjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0xMTcxLDggKzExNzEsNiBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4
NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0YxODYzNzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87
IH07CiAJCUJDRjRERTIzMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRE
RTIyMTY4RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsK
IAkJQkNGNERFMjUxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZB
NDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKLQkJQkNGNTA1RTcx
MjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFFIC8qIENl
cnRpZmljYXRlSW5mby5oICovOyB9OwotCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogQ2Vy
dGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLzsg
fTsKIAkJQkNGNTA3MjgxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNTA3MjYxMjQz
MjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICovOyB9OwogCQlCQ0Y2OUY4NjEx
NzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2OUY4NDExNzZDRDZGMDA0NzFBNTIgLyog
V2ViSGlzdG9yeUNsaWVudC5jcHAgKi87IH07CiAJCUJDRjY5Rjg3MTE3NkNENkYwMDQ3MUE1MiAv
KiBXZWJIaXN0b3J5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0Y2OUY4NTExNzZDRDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5o
ICovOyB9OwpAQCAtMjc3Niw4ICsyNzc0LDYgQEAKIAkJQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVB
IC8qIENhY2hlTW9kZWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q2FjaGVNb2RlbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTIyMTY4
RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHBhdGggPSBO
ZXR3b3JrL05ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2ViQ29udGV4dFN1cHBsZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4dFN1cHBsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1NUFF
IC8qIENlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
ZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNGNTA1RTYx
MjQzMDQ3QjAwNTk1NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkNGNTA2ODQxMjQzMTg2MTAwNTk1NUFFIC8qIFNlY3VyaXR5LmZyYW1l
d29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdy
YXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxh
YnNvbHV0ZT4iOyB9OwogCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNh
dGVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNlcnRpZmljYXRl
SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0Y2OUY4NDExNzZDRDZGMDA0
NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJIaXN0b3J5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTQ3NTIsOCArNDc0OCw2IEBACiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8q
IFBhc3RlYm9hcmRUeXBlcy5tbSAqLywKIAkJCQlFMTk1ODJEMjE1M0NCRkQ3MDBCNjA4NzUgLyog
UERGS2l0SW1wb3J0cy5oICovLAogCQkJCUUxOTU4MkQ0MTUzQ0MwNTMwMEI2MDg3NSAvKiBQREZL
aXRJbXBvcnRzLm1tICovLAotCQkJCUJDRjUwNUU1MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZp
Y2F0ZUluZm8uaCAqLywKLQkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNh
dGVJbmZvLm1tICovLAogCQkJCUUxQ0MxQjhGMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm9N
YWMubW0gKi8sCiAJCQkJMkQ0N0I1NkExODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlLm1tICovLAogCQkJCTJENDdCNTZCMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVM
YXllckJhY2tpbmdTdG9yZS5oICovLApAQCAtNTc2Miw3ICs1NzU2LDYgQEAKIAkJCQlDNTc0QTU4
MTEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTk1ODJEMzE1M0NCRkQ3MDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTFGQ0IxODkxN0JCRkUwMzAwMzk0Q0Q4IC8qIFN5bmNocm9ub3VzTmV0d29ya0xv
YWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFF
IC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMDBENEYxODJENkY1
MDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURh
dGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0
Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKQEAgLTcxMDEsNyArNzA5NCw2
IEBACiAJCQkJMkQ0MjlCRkQxNzIxRTJDNzAwRUM2ODFGIC8qIFBERlBsdWdpblBhc3N3b3JkRmll
bGQubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDJBREYwOTE2MzYyREQ1MDAxOTdFNDcgLyogUERG
UGx1Z2luVGV4dEFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzFCMzJERDE4NEQ2
NzQ5MDAxM0UyQjIgLyogV0tOU1VSTFByb3RlY3Rpb25TcGFjZS5tbSBpbiBTb3VyY2VzICovLAot
CQkJCUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gaW4gU291
cmNlcyAqLywKIAkJCQlCQ0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1l
bnVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAv
KiBQbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNjdFMEMxNjVCMkE5OTAwNkNCQTY2
IC8qIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHAKaW5kZXggYTViODQ0OWMuLmM3ZmI0ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2luY2x1ZGUgIkNlcnRpZmlj
YXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCkBAIC0zNiw2ICszNSw3
IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJy
b3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
RXJyb3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLmgKaW5kZXggZmQyZWZhMi4uZjc0NTIxOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAg
LTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xh
c3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBA
QCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3Mg
Q2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVy
OwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291
cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYs
NyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJl
Y3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVp
bnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VX
aXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25z
dCBDZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VN
ZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwog
ICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGlu
dDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2Fk
KGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmlu
ZGV4IDk4YTg3OGYuLjRhNjIwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAg
LTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2
ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVjaCBtb3Jl
IGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxsU2VuZFJlcXVlc3Qo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQs
IHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRo
Q2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktp
dDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlm
aWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZU1lc3NhZ2UpCiAgICAgRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVy
ZW5jZSBkYXRhLCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291
cmNlTG9hZChkb3VibGUgZmluaXNoVGltZSkKICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdlYkNv
cmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
CmluZGV4IDQwMjIzNWMuLmIxYTk5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVMb2FkZXJDbGllbnQuaCIK
IAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmlj
YXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5o
IgpAQCAtNTIsNiArNTEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4K
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
QVhPYmplY3RDYWNoZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RPTVdyYXBwZXJX
b3JsZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggY2I1ZDhkNC4uOTIyMGVmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTUxLDYgKzUxLDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owogc3Ry
dWN0IFBsdWdpbkluZm87CisjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQ
KQorY2xhc3MgQ2VydGlmaWNhdGVJbmZvOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpAQCAtNzIsMTAgKzc1LDYgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7
CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIGNsYXNzIE5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbjsKIGNsYXNzIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjsKLSNlbHNlCi0jaWYgVVNFKFNP
VVApCi1jbGFzcyBDZXJ0aWZpY2F0ZUluZm87Ci0jZW5kaWYKICNlbmRpZgogCiAjaWYgRU5BQkxF
KERBVEFCQVNFX1BST0NFU1MpCkBAIC0xNzQsNyArMTczLDcgQEAgcHVibGljOgogICAgIHZvaWQg
dXBkYXRlQWN0aXZlUGFnZXMoKTsKIAogI2lmICFFTkFCTEUoTkVUV09SS19QUk9DRVNTKSAmJiBV
U0UoU09VUCkKLSAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChj
b25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIHZvaWQgYWxs
b3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNvcmU6OkNlcnRpZmlj
YXRlSW5mbyYsIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElP
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgppbmRleCA3ZWM0NmY2Li4zNWFmNDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC04NCw2ICs4NCw2IEBAIG1lc3NhZ2VzIC0+
IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogI2VuZGlmCiAKICNpZiAhRU5BQkxFKE5FVFdP
UktfUFJPQ0VTUykgJiYgVVNFKFNPVVApCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNh
dGVGb3JIb3N0KFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBTdHJpbmcgaG9z
dCkKKyAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBTdHJpbmcgaG9zdCkKICNlbmRpZgogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKaW5kZXgg
NGZjNGQyMS4uMDU0NDgyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9z
b3VwL1dlYlByb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3Nv
dXAvV2ViUHJvY2Vzc1NvdXAuY3BwCkBAIC0yMzYsNyArMjM2LDcgQEAgdm9pZCBXZWJQcm9jZXNz
OjpzZXRJZ25vcmVUTFNFcnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJvcnMpCiB9CiAKICNpZiAhRU5B
QkxFKE5FVFdPUktfUFJPQ0VTUykKLXZvaWQgV2ViUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
LCBjb25zdCBTdHJpbmcmIGhvc3QpCit2b2lkIFdlYlByb2Nlc3M6OmFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbywgY29uc3QgU3RyaW5nJiBob3N0KQogewogICAgIFdlYkNvcmU6OlJlc291cmNl
SGFuZGxlOjpzZXRDbGllbnRDZXJ0aWZpY2F0ZShob3N0LCBjZXJ0aWZpY2F0ZUluZm8uY2VydGlm
aWNhdGUoKSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219068</attachid>
            <date>2013-12-12 03:20:44 -0800</date>
            <delta_ts>2013-12-12 03:22:59 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-124720-20131212032203.patch</filename>
            <type>text/plain</type>
            <size>76637</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmIyYzJlZjE1MDYzMTAz
NWUwMjk4MmZmMzFiNzFkMDRmY2M0ODgxNS4uNGFmODIwOTQ1ZTA0N2NiNGQ0YzQ2MDBkZDEyM2Iw
NDRmMzU4Y2ZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTEyLTEyICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBDZXJ0aWZp
Y2F0ZUluZm8gdG8gV2ViQ29yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI0NzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgQmFzZWQgb24gdGhlIHBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBh
bnkxMDAubmV0PgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBQ
bGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvLmg6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5o
LgorICAgICAgICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpzZXRDZXJ0aWZpY2F0ZUNoYWlu
KTogQWRkZWQsIGJlY2F1c2UgV2ViQ29yZUFyZ3VtZW50Q29kZXJzIG5lZWRzIGl0LgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmljYXRlSW5mb01hYy5tbTogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2VydGlmaWNhdGVJbmZvLm1tLgorICAgICAg
ICAoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8pOiBNb3ZlZCBlbmNv
ZGUoKSBhbmQgZGVjb2RlKCkgdG8gV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tLgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3BwOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmguCisgICAgICAgIChX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyk6IE1vdmVkIGVuY29kZSgp
IGFuZCBkZWNvZGUoKSB0byBXZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmg6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DZXJ0aWZpY2F0ZUluZm8uaC4KKyAgICAgICAgKFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6c2V0Q2VydGlmaWNhdGUpOiBBZGRlZCwgYmVjYXVzZSBX
ZWJDb3JlQXJndW1lbnRDb2RlcnMgbmVlZHMgaXQuCisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm86OnNldFRMU0Vycm9ycyk6IEFkZGVkLCBiZWNhdXNlIFdlYkNvcmVBcmd1bWVudENv
ZGVycyBuZWVkcyBpdC4KKwogMjAxMy0xMi0xMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgU3R5bGVQZW5kaW5nSW1hZ2UgbmVlZHMgdG8gY29ycmVjdGx5IG1hbmFn
ZSB0aGUgQ1NTVmFsdWUgcG9pbnRlciBsaWZldGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDAyN2FkMzE3MTk2
YjYxMmU1NzJlZDQ3OGVhY2IyNWRkMmJkMGMyMDIuLjRmOTMwMzU4ZGMyNTk3ZmM2NzhhZGU1NzE5
MWEzMGFkNGVlMGE2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MCBAQAorMjAxMy0xMi0xMiAg
Q3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgQ2Vy
dGlmaWNhdGVJbmZvIHRvIFdlYkNvcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNDcyMAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIEJhc2VkIG9uIHRoZSBwYXRjaCBieSBLd2FuZyBZdWwgU2VvIDxza3l1bEBj
b21wYW55MTAwLm5ldD4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHA6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbToKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFr
ZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2Mv
bWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJl
ZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbToKKyAgICAg
ICAgKiBTaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1l
c3NhZ2VEZWNvZGVyOjpiYXNlRGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ2VydGlmaWNh
dGVJbmZvLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUluZm8pOgor
ICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAqIFNo
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1dlYkNv
cmVBcmd1bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6OkFyZ3VtZW50Q29kZXI8
Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKToKKyAgICAgICAgKENvcmVJUEM6OkFyZ3VtZW50Q29k
ZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvc291cC9DZXJ0
aWZpY2F0ZUluZm8uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9zb3VwL1dlYkNvcmVB
cmd1bWVudENvZGVyc1NvdXAuY3BwOgorICAgICAgICAoQ29yZUlQQzo6QXJndW1lbnRDb2RlcjxD
ZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6QXJndW1lbnRDb2Rl
cjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxz
X2luZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlv
bkNoYWxsZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjpkaWRDb21taXRMb2Fk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRp
ZENvbW1pdExvYWRGb3JGcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZv
ckhvc3QpOgorCiAyMDEzLTEyLTEyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNv
bT4KIAogICAgICAgICBVc2Ugb2YgYXIgVCBvcHRpb24gbm90IHN1cHBvcnRlZCBieSBvbGRlciBi
aW51dGlscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZjk4Njk1NThkN2Q0M2I5
NDg5Yjk1YWRhOTAzNzkwM2M0NTVjNTMwMi4uODQ2MzlkOWQ3YjRjMjA0OTU1MTY4NGU4MzA3Mzdh
MzlhZTUzMzE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NDQzLDYgKzU0
NDMsNyBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmggXAorCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9CbG9iU3RvcmFnZURhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oIFwKQEAgLTU0NjIsNiArNTQ2Myw3IEBAIHdl
YmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAgXAor
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJTb3Vw
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdl
U291cC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA2YWUwZWY2OTQ5NmNiODhh
ZWQxNjk0MDkyZDdmZTRlM2I1NjBhMWQ4Li5iM2Q4ZWZhM2JlODRhNzRlZDQ1MjljMmIwNDVlOTQ1
M2VhZmZjOTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMTUyLDYgKzE1Miw3IEBA
IGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL25ldHdvcmsvZWZsL05l
dHdvcmtTdGF0ZU5vdGlmaWVyRWZsLmNwcAogCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAKKyAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
Q2VydGlmaWNhdGVJbmZvLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJT
b3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVTdG9yYWdlU291cC5jcHAK
ICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCA3ZjM3M2MyMWRmYzkzMzdhZmM2OTY1YjBkNWIzOWZj
NzI4YzI3YmNkLi4xNTlhNWU0ZTEzZmY1YzdiMjk1YWU2ODc3NTEyYTNhNjcyNWYyN2QyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTg5LDYgKzE4OSw3IEBAIGxpc3QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL25ldHdvcmsvZ3RrL0NyZWRlbnRpYWxCYWNraW5n
U3RvcmUuY3BwCiAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VTb3VwLmNwcAorICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm8u
Y3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxh
dGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3JhZ2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25l
dHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmlu
ZGV4IGJiODkyMDA5ZWNjY2NlMjcxNmE5YTAxY2YzOGIxYTllOTYzNDFiY2EuLmRmYmI5Njc0NDcy
NjYwYmIyOThmZGNkMjZjMGE0MTc4NTc4Yzc3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC02
Nyw2ICs2Nyw5IEBAIF9fWk4zV1RGMTBTdHJpbmdJbXBsY3ZQOE5TU3RyaW5nRXYKIF9fWk4zV1RG
MTJBdG9taWNTdHJpbmczYWRkRVBLMTBfX0NGU3RyaW5nCiBfX1pOM1dURjZTdHJpbmdDMUVQOE5T
U3RyaW5nCiBfX1pOM1dURjZTdHJpbmdDMUVQSzEwX19DRlN0cmluZworX19aTjdXZWJDb3JlMTVD
ZXJ0aWZpY2F0ZUluZm9DMUVSS05TXzE2UmVzb3VyY2VSZXNwb25zZUUKK19fWk43V2ViQ29yZTE1
Q2VydGlmaWNhdGVJbmZvQzFFUEs5X19DRkFycmF5CitfX1pON1dlYkNvcmUxNUNlcnRpZmljYXRl
SW5mb0MxRXYKIF9fWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRVJLTlNfN0ludFJlY3RFCiBfX1pO
N1dlYkNvcmUxMENsaWVudFJlY3RDMUVSS05TXzlGbG9hdFJlY3RFCiBfX1pON1dlYkNvcmUxMENs
aWVudFJlY3RDMUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYzE0M2VmODU1NzIxMTk1Y2I3ODM5MGRlYmEyODM5MTczZjI2MmEw
Zi4uYjY2MWM4OGViNWZiN2I1YmEzNTkzNDUyYjQ5MTcyMWE5OTlmYjllZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk1NCw3
ICsxOTU0LDEwIEBACiAJCTVERjdGNUMyMEYwMUY5MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5h
bWVzLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2NTY1ODBFRjA5RDEyQjIwMDAwRTYxRDcgLyogQ1NTUHJvcGVydHlOYW1lcy5o
ICovOyB9OwogCQk1REZFOEY1NjBEMTY0NzdCMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJB
MEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwICovOyB9OwogCQk1REZFOEY1
NzBEMTY0NzdDMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EzNzhCQjBEMTVGNjQyMDBCNzkzRDYgLyog
U2NoZWR1bGVkQWN0aW9uLmggKi87IH07CisJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBD
ZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFj
Lm1tICovOyB9OworCQk1RkE5MDRDQTE3OEU2MUY1MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJbmZv
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RjJEQkJF
ODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU0
IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi87
IH07CisJCTVGRTFEMjkyMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RkUxRDI5MTE3
OEZEMUYzMDAxQUEzQzMgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovOyB9OwogCQk2MjZDREUwRTEx
NDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2Q0RFMEMxMTQwNDI0QzAwMUU1QTY4IC8q
IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLzsgfTsKIAkJNjI2Q0RFMEYxMTQwNDI0QzAwMUU1QTY4
IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2MjZDREUwRDExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2
MjhEMjE0QzEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyOEQyMTRCMTIxMzFFRDEwMDU1
RENGQyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC04NzE5LDcgKzg3MjIsMTAgQEAKIAkJNURBOTdFQ0MxNjhF
Nzg3QjAwMEUzNjc2IC8qIFN5c3RlbVZlcnNpb25NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1WZXJzaW9uTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1REIxQkM2ODEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REIxQkM2OTEwNzE1QTY0MDBFRkFBNDkgLyog
VHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNUYyREJCRTcxNzhFMzMyRDAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENlcnRpZmljYXRlSW5m
b01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUYyREJCRTgxNzhFMzM2OTAw
MTQxNDg2IC8qIENlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUZD
N0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRUYXJnZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNUZFMUQyOTExNzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIu
ZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJhbWV3b3JrOyBwYXRoID0gLi4vLi4vLi4vLi4v
Li4vU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdvcms7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFs
TmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGF0
aWFsTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBE
MTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTcGF0aWFsTmF2aWdhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya2luZ0NvbnRleHQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNTkzLDYgKzEzNTk5LDcgQEAKIAkJCWlz
YSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTVGRTFEMjkyMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1
cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQlGRDJEQkYxMjEyQjA0OEEzMDBF
RDk4QzYgLyogQWNjZWxlcmF0ZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5M0Yx
OUIxMzA4MjQ1RTU5MDAxRTlBQkMgLyogQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLywKIAkJCQlGRDJEQkYxMzEyQjA0OEEzMDBFRDk4QzYgLyogQXVkaW9Ub29s
Ym94LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLApAQCAtMTM5NTUsNiArMTM5NjIsNyBAQAog
CQkwODY3RDY5MUZFODQwMjhGQzAyQUFDMDcgLyogV2ViS2l0ICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMgLyog
U2VjdXJpdHkuZnJhbWV3b3JrICovLAogCQkJCTY1Qzk3QUYyMDhFQTkwODgwMEFDRDI3MyAvKiBj
b25maWcuaCAqLywKIAkJCQlFREVDOTgwMjBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVByZWZp
eC5oICovLAogCQkJCTkzMDcwNjEzMDlFMENBODIwMEIxN0ZFNCAvKiBEZXJpdmVkU291cmNlcy5t
YWtlICovLApAQCAtMTU1MTUsNiArMTU1MjMsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTE0
Qzc2NDIwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhlbnRpY2F0aW9uTWFjLmggKi8sCiAJCQkJNTE0
Qzc2NDMwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhlbnRpY2F0aW9uTWFjLm1tICovLAorCQkJCTVG
MkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLywKKwkJCQk1RjJE
QkJFNzE3OEUzMzJEMDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCUUx
NDI0QzhGMTY0QjQ2MEIwMEYzMkQ0MCAvKiBDb29raWVKYXJNYWMubW0gKi8sCiAJCQkJRTEzRjAx
RjAxMjcwRTE5MDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFCNENE
MjQxMEIzMjJFMjAwQkZGRDdFIC8qIENyZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovLApAQCAtMjQy
NTQsNiArMjQyNjQsNyBAQAogCQkJCTBGMTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9y
bUNBRmlsdGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMy
IC8qIFBsYXRmb3JtQ0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIw
NTAwMDIwMDgxIC8qIFBsYXRmb3JtQ0FMYXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDdDNTlCNTQxN0Y0QUMxNTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBp
biBIZWFkZXJzICovLAogCQkJCUUxNDI0QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNv
b2tpZUphci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8q
IFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0NTQsNiArMjg0NjUsNyBAQAog
CQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRTE3MkFGOEYxODExQkMzNzAwRkJBREI5IC8qIEpTRE9NUHJvbWlz
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVy
b1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNUYyREJCRTkxNzhFM0M4MTAwMTQxNDg2IC8q
IENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkRGMTc2Njg2
RDkwMEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQxNzYyRTMx
NzY2ODZFQTAwRDgzNkE4IC8qIERvd25TYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZF
ODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NlcnRpZmlj
YXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNh
dGVJbmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhiM2NkYWFiZDZiNjg1NDlhYjYxODk5MTUzZTgzYjFjNDli
MTQyYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL0NlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIENlcnRpZmljYXRlSW5mb19oCisjZGVmaW5lIENlcnRpZmljYXRlSW5mb19oCisKKyNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKK3B1
YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOworICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5m
byhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOworCisgICAgdm9pZCBzZXRDZXJ0aWZpY2F0
ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikgeyBtX2NlcnRpZmljYXRlQ2hhaW4g
PSBjZXJ0aWZpY2F0ZUNoYWluOyB9CisgICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkg
Y29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOyB9CisKKyNpZm5kZWYgTkRF
QlVHCisgICAgdm9pZCBkdW1wKCkgY29uc3Q7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBSZXRh
aW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CisKKyNlbmRpZiAvLyBDZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1t
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIwM2M5Y2MzNzI2ZWI4YTk4Y2M1ZjBlYzhkYmViYzZiNTYxZjgzZTQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9DZXJ0
aWZpY2F0ZUluZm9NYWMubW0KQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQg
ImNvbmZpZy5oIgorI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCitDZXJ0
aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSkKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihyZXNwb25zZS5jZXJ0aWZpY2F0ZUNoYWlu
KCkpCit7Cit9CisKK0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYg
Y2VydGlmaWNhdGVDaGFpbikKKyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNo
YWluKQoreworfQorCisjaWZuZGVmIE5ERUJVRwordm9pZCBDZXJ0aWZpY2F0ZUluZm86OmR1bXAo
KSBjb25zdAoreworICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBD
RkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xv
ZyhAIkNlcnRpZmljYXRlSW5mb1xuIik7CisgICAgTlNMb2coQCIgIEVudHJpZXM6ICVkXG4iLCBl
bnRyaWVzKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7Cisg
ICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0Q0YoU2VjQ2VydGlm
aWNhdGVDb3B5U3ViamVjdFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNGQXJyYXlHZXRWYWx1
ZUF0SW5kZXgobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOworICAgICAgICBOU0xvZyhA
IiAgJUAiLCAoTlNTdHJpbmcgKilzdW1tYXJ5LmdldCgpKTsKKyAgICB9Cit9CisjZW5kaWYKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWZhZTRk
YmYzMTAyNWIxOTRiZjU4MDlkYWZhZmMzOTAyZWZlOWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKQEAg
LTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgi
CisKKyNpbmNsdWRlIDxSZXNvdXJjZUVycm9yLmg+CisjaW5jbHVkZSA8UmVzb3VyY2VSZXNwb25z
ZS5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKKyAgICA6IG1fdGxzRXJyb3JzKHN0
YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPigwKSkKK3sKK30KKworQ2VydGlmaWNhdGVJ
bmZvOjpDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCisg
ICAgOiBtX2NlcnRpZmljYXRlKHJlc3BvbnNlLnNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoKSkKKyAg
ICAsIG1fdGxzRXJyb3JzKHJlc3BvbnNlLnNvdXBNZXNzYWdlVExTRXJyb3JzKCkpCit7Cit9CisK
K0NlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlRXJyb3ImIHJl
c291cmNlRXJyb3IpCisgICAgOiBtX2NlcnRpZmljYXRlKHJlc291cmNlRXJyb3IuY2VydGlmaWNh
dGUoKSkKKyAgICAsIG1fdGxzRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdz
PihyZXNvdXJjZUVycm9yLnRsc0Vycm9ycygpKSkKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjpD
ZXJ0aWZpY2F0ZUluZm8oR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSwgR1Rsc0NlcnRpZmlj
YXRlRmxhZ3MgdGxzRXJyb3JzKQorICAgIDogbV9jZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZSkKKyAg
ICAsIG1fdGxzRXJyb3JzKHRsc0Vycm9ycykKK3sKK30KKworQ2VydGlmaWNhdGVJbmZvOjp+Q2Vy
dGlmaWNhdGVJbmZvKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mby5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk0ZTRmZjU4NTUwODc1OGU1MGJhOTI1ZjU3NWQxYjk1YjJkZmU4MGMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2Vy
dGlmaWNhdGVJbmZvLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQg
KGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgQ2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgQ2VydGlmaWNhdGVJ
bmZvX2gKKworI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0
L0dSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZXNvdXJjZUVycm9y
OworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKKworY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKK3B1
YmxpYzoKKyAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworICAgIGV4cGxpY2l0IENlcnRp
ZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CisgICAgZXhwbGljaXQg
Q2VydGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSosIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzKTsK
KyAgICB+Q2VydGlmaWNhdGVJbmZvKCk7CisKKyAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmlj
YXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0
Q2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSkgeyBtX2NlcnRpZmljYXRl
ID0gY2VydGlmaWNhdGU7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBj
b25zdCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorICAgIHZvaWQgc2V0VExTRXJyb3JzKEdUbHND
ZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rsc0Vycm9ycyA9IHRsc0Vycm9yczsgfQor
Citwcml2YXRlOgorICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwor
ICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IGU3ZTExZjExNTZkMWMzOTllYzk0ZDNhZDY0ODNlNjc0NjBhM2E3
MTYuLjRjZGVjYWNiMDIzODc1NTg3ZTUyYzc5Y2ZmMmZjZTRlODUyMjJjN2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIv
R05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTMwLDggKzUzMCw2IEBAIHdlYmtpdDJfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
U3RhdGlzdGljc0RhdGEuaCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNh
dGVJbmZvLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZv
LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3Rv
cmFnZVR5cGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzU291cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRl
LmggXApAQCAtMTQyNSw4ICsxNDIzLDYgQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0
ay5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBc
CiAJU291cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBc
Ci0JU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBcCi0JU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBcCiAJU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2Fk
ZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3Vz
TmV0d29ya0xvYWRlckNsaWVudC5jcHAKaW5kZXggYzU0M2EzZWUwZWYzNDZjNmUwOTVmYzYwNWY1
YzEwOTJjMWEzNTZjNy4uZDFjOTNkNDNkYzM5NzQ2NjA4ZjIwNGU3ZGNmOWM4MjljYThjZjNjZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0
d29ya0xvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
QXN5bmNocm9ub3VzTmV0d29ya0xvYWRlckNsaWVudC5jcHAKQEAgLTI2LDExICsyNiwxMSBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJD
bGllbnQuaCIKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFS
ZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRl
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlck1l
c3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZl
ci5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggM2UzOWU3YzkyZGE5NWEyZDViNzY2
MjlmZGYwNDZhYmM3YzM1OGQ0Zi4uM2MwODg1OGJiZjE2OTVkMzVhMGU5NzVmNjA4YjY0M2I5NGEy
MDhlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oCkBAIC0zNSwxMCArMzUsMTIgQEAKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkU2No
ZWR1bGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAotbmFtZXNwYWNlIFdlYktpdCB7
CituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87Cit9CiAKK25hbWVz
cGFjZSBXZWJLaXQgewogY2xhc3MgQXV0aGVudGljYXRpb25NYW5hZ2VyOwotY2xhc3MgQ2VydGlm
aWNhdGVJbmZvOwogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBjbGFzcyBO
ZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ7CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM7CkBAIC0xMDQsNyArMTA2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRvd25sb2Fk
UmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25sb2FkSUQpOwogICAg
IHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5n
JiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChj
b25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOwogICAg
IHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwog
ICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2FjaGVzVG9DbGVhcik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggOTkzNDhiOGY3NjgwZGUyYjM0MTU2Mjc2OWI0MDEwZTE1
NzZlZmUwZS4uMzUyNWQ2YzFmYzFiM2JkMjA4ZDgwZWM1M2MzZGRmMTA3Mzc0M2IzMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
bWVzc2FnZXMuaW4KQEAgLTQzLDcgKzQzLDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3Mg
TGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9vbCBm
bGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
V2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFN0cmluZyBob3N0KQorICAgIEFs
bG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8gY2VydGlmaWNhdGUsIFN0cmluZyBob3N0KQogICAgIAogICAgIEdldE5ldHdvcmtQcm9jZXNz
U3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
NDMyZWM3NmNmM2FlZjljZjNmN2I4ODM2MTA5ZjQ2NmZmYmQxYzJkNy4uMmY4YTQ5Zjg4M2ExOTgz
ZDI3MzAwYTVhNGNhMjA0YWZiMDM1MTEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zMCw3ICszMCw2
IEBACiAKICNpbmNsdWRlICJBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50LmgiCiAjaW5j
bHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZv
LmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNp
bmNsdWRlICJOZXR3b3JrQmxvYlJlZ2lzdHJ5LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KaW5kZXggNTRmYWY2YWRm
NDhmOGYzNDE4NTcwMjkwZmY1YTJjMjg5ODM0YzJiNi4uMWExYjNlMDJmOWM1ZTdiMzUzMzExYjZh
NzYyOWVjYjZjMjNhMjgyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvbWFjL05ldHdvcmtQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQpAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYg
RU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAotI2ltcG9ydCAiQ2VydGlmaWNhdGVJbmZvLmgiCiAj
aW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiTmV0
d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIK
QEAgLTM2LDYgKzM1LDcgQEAKICNpbXBvcnQgIlNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRl
cnMuaCIKICNpbXBvcnQgIlNlY0l0ZW1TaGltLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMu
aCIKKyNpbXBvcnQgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2lt
cG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmlu
ZGV4IDlmNTM3NmM1MzZkNDAyNmEyMGU3MTIyNDg5ZTZmYzZhNGE0ZmFkYjEuLjM0NGFiZjBkM2Zm
NmFhZjA2NGFlM2U2YzY3YTk5ZjM4MWZhZTU0NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtl
CkBAIC00OSw3ICs0OSw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNj
b21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCi0gICAgU2hhcmVkL3NvdXAvQ2VydGlmaWNh
dGVJbmZvLmNwcAogICAgIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3Bw
CiAKICAgICBVSVByb2Nlc3MvRGVmYXVsdFVuZG9Db250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUdUSy5jbWFrZQppbmRleCBlYmM3NmYxYzFiYTI3ZTk4NDMzMGM1MDYxZjI4YzVjY2ZmMTVlMjMy
Li45OWRjNmYzNmM3MTgxNWU1Y2Q1MjNmZDc5MjRlZmQwMDFkZGRkNWNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUdUSy5jbWFrZQpAQCAtNjAsNyArNjAsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJD
RVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKICAgICBTaGFy
ZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAotICAgIFNoYXJlZC9z
b3VwL0NlcnRpZmljYXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRD
b2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0
ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNh
dGVJbmZvTWFjLm1tCmluZGV4IDMyZWMwZjQ2ZTlkMGNjZTEyZjc3ZDI3OGIzODhiNzdmZmZmMmZh
NjMuLjMyZmEyMWZlMmViZmYzNmIwYTIxYTY5OGEwMWEwZDNmZWU2ZDE4MzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0K
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01h
Yy5tbQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJX
ZWJDZXJ0aWZpY2F0ZUluZm8uaCIKIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBu
YW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5m
b0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5oCmluZGV4IDRmNjVlOWY2Nzg5ODdkMDQ3OTQzMDk5OTFlZTg1
ZjRkMTU2MzM4MDkuLjQ5NzU5ODY3YWNmYzRlMjhjZjY2YWE3NGQxNWQ0YjU0NjQ4ODJmYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLmgKQEAgLTM0LDEzICszNCwxMyBAQAogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFzcyBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZTsKLSAgICBjbGFzcyBDcmVkZW50aWFsOworY2xhc3MgQXV0aGVudGljYXRp
b25DaGFsbGVuZ2U7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CitjbGFzcyBDcmVkZW50aWFsOwog
fQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3Mg
Q2hpbGRQcm9jZXNzOwogY2xhc3MgRG93bmxvYWQ7CiBjbGFzcyBXZWJGcmFtZTsKQEAgLTU5LDcg
KzU5LDcgQEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmb3IgZG93bmxvYWRzIHdpdGggb3Igd2l0
aG91dCB0aGUgTmV0d29ya1Byb2Nlc3MKICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShEb3dubG9hZCosIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlJik7CiAKLSAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBDZXJ0aWZpY2F0ZUlu
Zm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxl
bmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mKTsKICAgICB2b2lkIGNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVu
Z2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2
NF90IGNoYWxsZW5nZUlEKTsKICAgICAKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAv
LyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZF
UlJJREU7CiAKLSAgICBib29sIHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25z
dCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IENlcnRpZmljYXRlSW5m
byYpOworICAgIGJvb2wgdHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdl
YkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNh
dGVJbmZvJik7CiAKICAgICB1aW50NjRfdCBlc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxlbmdl
KGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGRhMTNmMzQzNWZhZmJkZTA3ZTYx
ZTk4ODE3ODlhZTFhMzZmYTNiNWIuLjM0ZGI5YjIwOGJmMWZkMTczZDgxYTQ2Yzc2ZjhmODY0NmRm
M2Q1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAt
MjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBBdXRoZW50aWNhdGlv
bk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBj
aGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsLCBXZWJLaXQ6OkNlcnRp
ZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9pZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxl
bmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNyZWRlbnRpYWws
IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9pZCBDb250aW51
ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAg
ICB2b2lkIENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0
aW9uTWFuYWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
bWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggNWVhN2Q3MWNlNDc1MjBiMGI3
OWEwM2VmMTBiNTc2NWIyNjc5NGM5YS4uYmQ4MTRjMzg4MTljMzk1Yzk0OTY1NjQ2YmRjNTRiYmQ2
NmU5YWUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQpAQCAt
MjgsOSArMjgsOSBAQAogCiAjaWYgSEFWRShTRUNfSURFTlRJVFkpCiAKLSNpbmNsdWRlICJDZXJ0
aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L0NlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAppbmRleCA0M2E4MWU0YzIyODZlYzM0
MmZiZThhOTlkY2Y5MTRmNjdkYzk1MmI3Li42MjJiMjhlMzE4ODU5ZTU2YmUzMTUxYzJkNmJkY2Vl
NWRkMzMxZjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VD
b2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaApA
QCAtNTA0LDcgKzUwNCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CiAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OkNlcnRpZmljYXRlSW5mbzogewotICAg
ICAgICAgICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKKyAgICAgICAgICAgIFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiAgICAgICAgICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlSW5mbykpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpj
cmVhdGUoY2VydGlmaWNhdGVJbmZvKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaAppbmRleCAzMmZjZmNmZjExZGUzNmFjMDA3Njk1ZDY4MzBiODgzODY1YTdlNjlh
Li4xYTFiZWVhNjFjYzVmNzFiZjNhN2RhNTg2YTA4MDVjYTQ1ZWRkMWNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNk
ZWZpbmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2lu
Y2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbyA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJ
OjpPYmplY3Q6OlR5cGU6OkNlcnRpZmljYXRlSW5mbz4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0IENlcnRpZmljYXRlSW5m
byYgaW5mbykKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0
ZShjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgewogICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYkNlcnRpZmljYXRlSW5mbyhpbmZvKSk7CiAgICAgfQogCi0g
ICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVy
biBtX2NlcnRpZmljYXRlSW5mbzsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byYgY2VydGlmaWNhdGVJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0K
IAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgQ2VydGlm
aWNhdGVJbmZvJiBpbmZvKQorICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGluZm8pCiAgICAgICAgIDogbV9jZXJ0aWZpY2F0ZUlu
Zm8oaW5mbykKICAgICB7CiAgICAgfQogCi0gICAgQ2VydGlmaWNhdGVJbmZvIG1fY2VydGlmaWNh
dGVJbmZvOworICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCAyNzhhOTIzYjBjODRiMmQ1NmJkNDgwZjc0
NzQ1YWRjMjBhM2IzYmU4Li5lMWU2NzZlYzA5NzJkYmI3MTk1YTczMzI0Njg0NWZhNjc4OTMyNGYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0NyZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpA
QCAtOTIsNyArOTMsNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8VHJhbnNmb3JtYXRpb25NYXRyaXg+
OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBUcmFucwogICAgIHJldHVybiBTaW1w
bGVBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0cml4Pjo6ZGVjb2RlKGRlY29kZXIsIHRy
YW5zZm9ybWF0aW9uTWF0cml4KTsKIH0KIAotCiB2b2lkIEFyZ3VtZW50Q29kZXI8RmxvYXRQb2lu
dD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEZsb2F0UG9pbnQmIGZs
b2F0UG9pbnQpCiB7CiAgICAgU2ltcGxlQXJndW1lbnRDb2RlcjxGbG9hdFBvaW50Pjo6ZW5jb2Rl
KGVuY29kZXIsIGZsb2F0UG9pbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCmluZGV4IDVkOTgwNTI3YjJlOGZkNmNjN2Y4MDZhMWNhNDc0ZDQ3ZmI3
OTJhMDEuLmZhMmJjYzk1ZTZlYWVjMmJlMzA5NWY1OTQ3YmE1ZWM3NmYxNWFhMjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMxLDYgKzMx
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNz
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3Mg
Q29sb3I7CiBjbGFzcyBDcmVkZW50aWFsOwogY2xhc3MgQ3Vyc29yOwpAQCAtMTAzLDYgKzEwNCwx
MSBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zZm9ybWF0
aW9uTWF0cml4PiB7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdl
YkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4Jik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbz4geworICAgIHN0YXRpYyB2b2lk
IGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8m
KTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdl
YkNvcmU6OkZsb2F0UG9pbnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNv
ZGVyJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwogICAgIHN0YXRpYyBib29sIGRlY29k
ZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNGRkYzc1MTJjMGJjZTYyZGE5NTk5MGE3NTJiM2QwZjU4YzY5YzQ0My4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL0NlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpZm5kZWYgQ2VydGlmaWNhdGVJbmZvX2gKLSNkZWZpbmUgQ2VydGlmaWNh
dGVJbmZvX2gKLQotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQXJndW1l
bnREZWNvZGVyOwotY2xhc3MgQXJndW1lbnRFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0
IHsKLQotY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKLXB1YmxpYzoKLSAgICBDZXJ0aWZpY2F0ZUlu
Zm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IENlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNl
cnRpZmljYXRlQ2hhaW4pOwotCi0gICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29u
c3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpOyB9Ci0KLSAgICB2b2lkIGVuY29k
ZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNv
ZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgQ2VydGlmaWNhdGVJbmZvJik7Ci0KLSNpZm5k
ZWYgTkRFQlVHCi0gICAgdm9pZCBkdW1wKCkgY29uc3Q7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAg
ICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWluOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBDZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5tbQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMjYwZWFiNmM2MzA0MWQ2OTRlOGE1ZTMyNzYwNzBjNWM5NWU4MTlmNC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL0NlcnRpZmljYXRlSW5mby5tbQorKysgL2Rldi9udWxsCkBAIC0xLDkxICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkNlcnRpZmlj
YXRlSW5mby5oIgotCi0jaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCi0jaW1wb3J0ICJBcmd1
bWVudERlY29kZXIuaCIKLSNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgotCi11c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLUNlcnRpZmljYXRlSW5mbzo6
Q2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUlu
Zm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCi0gICAgOiBtX2NlcnRpZmljYXRl
Q2hhaW4ocmVzcG9uc2UuY2VydGlmaWNhdGVDaGFpbigpKQotewotfQotCi1DZXJ0aWZpY2F0ZUlu
Zm86OkNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAgOiBt
X2NlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotdm9pZCBDZXJ0aWZp
Y2F0ZUluZm86OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Ci17Ci0gICAgaWYgKCFtX2NlcnRpZmljYXRlQ2hhaW4pIHsKLSAgICAgICAgZW5jb2RlciA8PCBm
YWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVuY29kZXIgPDwgdHJ1ZTsKLSAg
ICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgbV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKLX0K
LQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgYykKLXsKLSAgICBib29sIGhhc0NlcnRpZmljYXRl
Q2hhaW47Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0ZUNoYWluKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZUNoYWluKQotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGMu
bV9jZXJ0aWZpY2F0ZUNoYWluKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12b2lkIENlcnRpZmljYXRlSW5mbzo6ZHVtcCgp
IGNvbnN0Ci17Ci0gICAgdW5zaWduZWQgZW50cmllcyA9IG1fY2VydGlmaWNhdGVDaGFpbiA/IENG
QXJyYXlHZXRDb3VudChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCkpIDogMDsKLQotICAgIE5TTG9n
KEAiQ2VydGlmaWNhdGVJbmZvXG4iKTsKLSAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIsIGVu
dHJpZXMpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsKLSAg
ICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZp
Y2F0ZUNvcHlTdWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVl
QXRJbmRleChtX2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7Ci0gICAgICAgIE5TTG9nKEAi
ICAlQCIsIChOU1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOwotICAgIH0KLX0KLSNlbmRpZgotCi19
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9XZWJDb3JlQXJndW1lbnRDb2RlcnNNYWMubW0KaW5kZXggZDY2YTJjOTg5MThiZGZmOWExMmI0
MThhNTQ1MWE1MTcyNTllZDg3NS4uMjlhYzZkNDhhNjQzODc0YmMyZmZjZmQ2MTcxYmZkMTdiODlj
ZDUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1l
bnRDb2RlcnNNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNNYWMubW0KQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDE0ICsyOSwxMyBAQAogCiAjaW1wb3J0ICJBcmd1bWVudENv
ZGVyc0NGLmgiCiAjaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW1wb3J0ICJDZXJ0aWZpY2F0
ZUluZm8uaCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jl
c291cmNlUmVxdWVzdC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTM0LDYgKzEzNCwzNiBA
QCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0
YShBcmd1bWVudERlY29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFy
Z3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5j
b2RlciwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgQ0ZB
cnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hh
aW4oKTsKKyAgICBpZiAoIWNlcnRpZmljYXRlQ2hhaW4pIHsKKyAgICAgICAgZW5jb2RlciA8PCBm
YWxzZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuY29kZXIgPDwgdHJ1ZTsKKyAg
ICBDb3JlSVBDOjplbmNvZGUoZW5jb2RlciwgY2VydGlmaWNhdGVDaGFpbik7Cit9CisKK2Jvb2wg
QXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBk
ZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhh
c0NlcnRpZmljYXRlQ2hhaW47CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNDZXJ0aWZpY2F0
ZUNoYWluKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFoYXNDZXJ0aWZpY2F0
ZUNoYWluKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFJldGFpblB0cjxDRkFycmF5UmVm
PiBjZXJ0aWZpY2F0ZUNoYWluOworICAgIGlmICghQ29yZUlQQzo6ZGVjb2RlKGRlY29kZXIsIGNl
cnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjZXJ0aWZpY2F0
ZUluZm8uc2V0Q2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluLmdldCgpKTsKKworICAg
IHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgTlNTdHJpbmcqIG5zU3RyaW5nKGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaW1wbCgpID8gW05TU3RyaW5nIHN0cmlu
Z1dpdGhDaGFyYWN0ZXJzOnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KHN0cmluZy5j
aGFyYWN0ZXJzKCkpIGxlbmd0aDpzdHJpbmcubGVuZ3RoKCldIDogQCIiOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDllOTI1MTgyMmRmNGEzNmY5MWE0ZTlhNjA5MzRlNmQxMjk4NjUxZWMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvQ2VydGlmaWNhdGVJbmZvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEx
NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKLQot
I2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5o
IgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
RXJyb3IuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KLSNpbmNsdWRl
IDxsaWJzb3VwL3NvdXAuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFj
ZSBXZWJLaXQgewotCi1DZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbygpCi0gICAgOiBt
X3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17Ci19Ci0K
LUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNwb25zZS5zb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhyZXNwb25zZS5zb3VwTWVzc2FnZVRMU0Vycm9y
cygpKQotewotfQotCi1DZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQotICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNvdXJjZUVy
cm9yLmNlcnRpZmljYXRlKCkpCi0gICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2Vy
dGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJvci50bHNFcnJvcnMoKSkpCi17Ci19Ci0KLUNlcnRp
ZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUs
IEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykKLSAgICA6IG1fY2VydGlmaWNhdGUoY2Vy
dGlmaWNhdGUpCi0gICAgLCBtX3Rsc0Vycm9ycyh0bHNFcnJvcnMpCi17Ci19Ci0KLUNlcnRpZmlj
YXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLXZvaWQgQ2VydGlmaWNhdGVJbmZv
OjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAg
IGlmICghbV9jZXJ0aWZpY2F0ZSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsK
LSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQoKSksICJjZXJ0aWZp
Y2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOwotICAgIGlmICghY2VydGlmaWNhdGVEYXRh
KSB7Ci0gICAgICAgIGVuY29kZXIgPDwgZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0
ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOwotICAgIGVuY29kZXIuZW5jb2RlVmFyaWFi
bGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0
YSwgY2VydGlmaWNhdGUtPmxlbikpOwotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KG1fdGxzRXJyb3JzKTsKLX0KLQotYm9vbCBDZXJ0aWZpY2F0ZUluZm86OmRlY29kZShDb3Jl
SVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNh
dGVJbmZvKQotewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGU7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShoYXNDZXJ0aWZpY2F0ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICgh
aGFzQ2VydGlmaWNhdGUpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgQ29yZUlQQzo6RGF0
YVJlZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRl
Y29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIEdCeXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9
IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7
Ci0gICAgY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X2FwcGVuZChjZXJ0aWZpY2F0ZURh
dGEsIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5kYXRhKCksIGNlcnRpZmljYXRlRGF0YVJlZmVy
ZW5jZS5zaXplKCkpOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2VydGlmaWNhdGUgPSBhZG9w
dEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLQotICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190
bHNfYmFja2VuZF9nZXRfZGVmYXVsdCgpOwotICAgIGNlcnRpZmljYXRlSW5mby5tX2NlcnRpZmlj
YXRlID0gYWRvcHRHUmVmKEdfVExTX0NFUlRJRklDQVRFKGdfaW5pdGFibGVfbmV3KAotICAgICAg
ICBnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAwLCAiY2Vy
dGlmaWNhdGUiLCBjZXJ0aWZpY2F0ZS5nZXQoKSwgbnVsbHB0cikpKTsKLQotICAgIHVpbnQzMl90
IHRsc0Vycm9yczsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRsc0Vycm9ycykpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8ubV90bHNFcnJvcnMgPSBzdGF0aWNf
Y2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4odGxzRXJyb3JzKTsKLQotICAgIHJldHVybiB0cnVl
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvQ2VydGlmaWNhdGVJbmZvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViNTU4
YWExODIxZTgxODIzZmRhZDk5NmZjNGQ5YTIxODJkZDA4ZTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2Vy
dGlmaWNhdGVJbmZvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIFBvcnRp
b25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDZXJ0aWZpY2F0ZUluZm9faAotI2RlZmlu
ZSBDZXJ0aWZpY2F0ZUluZm9faAotCi0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0jaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBB
cmd1bWVudERlY29kZXI7Ci1jbGFzcyBBcmd1bWVudEVuY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLWNsYXNzIFJlc291cmNlRXJyb3I7Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwot
fQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgQ2VydGlmaWNhdGVJbmZvIHsKLXB1Ymxp
YzoKLSAgICBDZXJ0aWZpY2F0ZUluZm8oKTsKLSAgICBleHBsaWNpdCBDZXJ0aWZpY2F0ZUluZm8o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotICAgIGV4cGxpY2l0IENlcnRpZmlj
YXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7Ci0gICAgZXhwbGljaXQgQ2Vy
dGlmaWNhdGVJbmZvKEdUbHNDZXJ0aWZpY2F0ZSosIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzKTsKLSAg
ICB+Q2VydGlmaWNhdGVJbmZvKCk7Ci0KLSAgICBHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRl
KCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZS5nZXQoKTsgfQotICAgIEdUbHNDZXJ0aWZp
Y2F0ZUZsYWdzIHRsc0Vycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9Ci0KLSAg
ICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0
aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgQ2VydGlmaWNhdGVJbmZv
Jik7Ci0KLXByaXZhdGU6Ci0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNh
dGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIENlcnRpZmljYXRlSW5mb19oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwCmluZGV4IDU0Yzk1ZjViMDQ1NTI4ZGU0ZjUzOGNmNjk0YWFkOTFiZTg0Y2NmYzMuLmJiY2Rk
ZDJmYTY2NDdmMTE1MzE4N2IyMzgyODQzYWZhZTI3OTdlNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBA
IC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEg
TW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxNiArMjYsMTYgQEAKICAqLwogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldl
YkNvcmVBcmd1bWVudENvZGVycy5oIgogCi0jaW5jbHVkZSAiQ2VydGlmaWNhdGVJbmZvLmgiCisj
aW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAKQEAgLTY3LDYgKzY4LDU1IEBAIGJvb2wgQXJn
dW1lbnRDb2RlcjxSZXNvdXJjZVJlc3BvbnNlPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgQXJndW1lbnRDb2Rl
cjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBpZiAoIWNlcnRpZmlj
YXRlSW5mby5jZXJ0aWZpY2F0ZSgpKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSAw
OworICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGUo
KSksICJjZXJ0aWZpY2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOworICAgIGlmICghY2Vy
dGlmaWNhdGVEYXRhKSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5
PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworICAgIGVuY29kZXIu
ZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0
aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOworICAgIGVuY29kZXIgPDwgc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KGNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7Cit9CisKK2Jvb2wg
QXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBk
ZWNvZGVyLCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhh
c0NlcnRpZmljYXRlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVE
YXRhUmVmZXJlbmNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVB
cnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBHQnl0ZUFycmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3
KGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9
IGdfYnl0ZV9hcnJheV9hcHBlbmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZl
cmVuY2UuZGF0YSgpLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVm
UHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlQnl0ZXMgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVE
YXRhKTsKKworICAgIEdUbHNCYWNrZW5kKiBiYWNrZW5kID0gZ190bHNfYmFja2VuZF9nZXRfZGVm
YXVsdCgpOworICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZpY2F0ZSA9IGFkb3B0
R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRhYmxlX25ldygKKyAgICAgICAgZ190bHNfYmFj
a2VuZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwgImNlcnRpZmljYXRlIiwg
Y2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgbnVsbHB0cikpKTsKKyAgICBjZXJ0aWZpY2F0ZUluZm8u
c2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOworCisgICAgdWludDMyX3QgdGxzRXJy
b3JzOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rs
c0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOworCisgICAgcmV0dXJuIHRydWU7Cit9CiAK
IHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUVycm9yPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFy
Z3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJv
cikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGUuaAppbmRleCA2ZmRiMjRmNjliZGU0OGUx
MDkwZTI3ZmUwOWZkNjY3NjAzODI3MTY5Li5hYjNmMWVmMzk0YzhlMmRmYjE0ZDU0YjlhMDEzZmYx
YzM3MGU5NWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0Q2VydGlmaWNhdGVJbmZvUHJpdmF0ZS5oCkBAIC0yMCw5ICsyMCw5
IEBACiAjaWZuZGVmIFdlYktpdENlcnRpZmljYXRlSW5mb1ByaXZhdGVfaAogI2RlZmluZSBXZWJL
aXRDZXJ0aWZpY2F0ZUluZm9Qcml2YXRlX2gKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5o
IgogI2luY2x1ZGUgIldlYktpdENlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYktpdFBy
aXZhdGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiBzdHJ1Y3Qg
X1dlYktpdENlcnRpZmljYXRlSW5mbyB7CiAgICAgX1dlYktpdENlcnRpZmljYXRlSW5mbyhHVGxz
Q2VydGlmaWNhdGUqIGNlcnRpZmljYXRlLCBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMp
CkBAIC0zNSw5ICszNSw5IEBAIHN0cnVjdCBfV2ViS2l0Q2VydGlmaWNhdGVJbmZvIHsKICAgICB7
CiAgICAgfQogCi0gICAgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOwor
ICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiB9OwogCi1jb25z
dCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyYgd2Via2l0Q2VydGlmaWNhdGVJbmZvR2V0Q2VydGlm
aWNhdGVJbmZvKFdlYktpdENlcnRpZmljYXRlSW5mbyopOworY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJiB3ZWJraXRDZXJ0aWZpY2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUluZm8oV2ViS2l0
Q2VydGlmaWNhdGVJbmZvKik7CiAKICNlbmRpZiAvLyBXZWJLaXRDZXJ0aWZpY2F0ZUluZm9Qcml2
YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKaW5kZXggZWZjMjEyMTk5MjJjMTQ2YjBiMmU3ODY3NjExN2RkOWYwOGE4Y2E3Ni4u
MjY3YjIwYjIyOTRkZWMzYjMwMTM0YjNjNzU4YjMzMTIwZmZlN2MxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTIxLDcg
KzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3Lmgi
CiAKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJJbWFnZU9wdGlvbnMu
aCIKICNpbmNsdWRlICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb250ZXh0
TWVudUl0ZW0uaCIKQEAgLTYwLDYgKzU5LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJp
dmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlm
aWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvR093blB0ckd0ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0clNvdXAuaD4KQEAg
LTMwMjgsNyArMzAyOCw3IEBAIGdib29sZWFuIHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8o
V2ViS2l0V2ViVmlldyogd2ViVmlldywgR1Rsc0NlcnRpZmljYXRlKioKICAgICBpZiAoIW1haW5G
cmFtZSkKICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgY29uc3QgQ2VydGlmaWNhdGVJbmZv
JiBjZXJ0aWZpY2F0ZUluZm8gPSBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5jZXJ0aWZp
Y2F0ZUluZm8oKTsKKyAgICBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbyA9IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5mbygp
OwogICAgIGlmIChjZXJ0aWZpY2F0ZSkKICAgICAgICAgKmNlcnRpZmljYXRlID0gY2VydGlmaWNh
dGVJbmZvLmNlcnRpZmljYXRlKCk7CiAgICAgaWYgKGVycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAppbmRleCA4ZDIwYzc2NjhlMjVlNTVjYmM4ZTkx
YWMxMDcxOWZlYzc2Mzc0N2UzLi5kNTU3M2RhY2E4MzJkZGVlZTQ2MWNmMWIzMTFmMjE3ZmMzMjgw
NmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBA
IC02Niw3ICs2Niw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTo6dXNlQ3Jl
ZGVudGlhbChXZWJDcmVkZW50aWFsKiBjcmVkZW50aWFsKQogICAgICAgICBtX2Nvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Q29udGludWVXaXRob3V0Q3Jl
ZGVudGlhbEZvckNoYWxsZW5nZShtX2NoYWxsZW5nZUlEKSwgMCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJbmZvID0gY3JlZGVudGlhbC0+Y2Vy
dGlmaWNhdGVJbmZvKCk7Ci0gICAgICAgIENlcnRpZmljYXRlSW5mbyBwbGF0Zm9ybUluZm8gPSBj
ZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygpIDogQ2Vy
dGlmaWNhdGVJbmZvKCk7CisgICAgICAgIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBwbGF0Zm9y
bUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8gPyBjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5m
bygpIDogV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgIG1fY29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpVc2VDcmVkZW50aWFsRm9yQ2hh
bGxlbmdlKG1fY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNvcmUoKSwgcGxhdGZvcm1JbmZvKSwg
MCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJh
bWVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAK
aW5kZXggOWQyMzZkM2NjNGMzOTEzOTViZWZlOGIwNTRkMDY3NjJiODYwZWIxNS4uNDc2YWM0MTA0
NzQwMDhhNDlhZjE2MjE3N2UzODc5ZDc2N2Y2MTNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgV2ViRnJhbWVQ
cm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpCiAgICAgbV9mcmFtZUxvYWRTdGF0ZS5kaWRG
YWlsUHJvdmlzaW9uYWxMb2FkKCk7CiB9CiAKLXZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0
TG9hZChjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbykKK3ZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZChjb25zdCBT
dHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbykKIHsKICAgICBtX2ZyYW1lTG9hZFN0YXRlLmRpZENvbW1pdExvYWQoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKaW5kZXggM2U0MjhkNmJjNjYy
ZTY3YzkwNzQwOTU5N2Q1YTY3ZGRmOGViZWRmNy4uMzQyNTBiNDE3MTljNjFjZWJhYTU5ZjQ2Nzg1
MmI4ZTE4NGVhNDA1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5o
CkBAIC00MCw5ICs0MCwxMSBAQCBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVj
dGlvbjsKIH0KIAotbmFtZXNwYWNlIFdlYktpdCB7Ci0KK25hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENlcnRpZmljYXRlSW5mbzsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJD
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBj
bGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMDAsNyArMTAyLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwp
OwogICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNv
bnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAg
ICB2b2lkIGRpZENvbW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgQ2Vy
dGlmaWNhdGVJbmZvJik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29u
dGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogICAgIHZvaWQgZGlk
RmluaXNoTG9hZCgpOwogICAgIHZvaWQgZGlkRmFpbExvYWQoKTsKICAgICB2b2lkIGRpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb24oY29uc3QgU3RyaW5nJik7IC8vIGVnLiBhbmNob3IgbmF2aWdhdGlv
biwgc2Vzc2lvbiBzdGF0ZSBjaGFuZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCmluZGV4IDE0ZDNkMWUxZTNiODNkNjU5MDU1N2UyYjg4ZjZkYjM3MzYyMjFjYTAu
LjUyMGZiMTJkYmVlYzFkYzA5ZTVjOGRkODIzN2NmZTY1ZDlkMDM1MDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yMTg0LDcgKzIxODQsNyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6Y2xlYXJMb2FkRGVwZW5kZW50Q2FsbGJhY2tzKCkKICAgICB9CiB9CiAK
LXZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgdWludDMyX3Qgb3BhcXVlRnJhbWVMb2FkVHlwZSwg
Y29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIENvcmVJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJiBkZWNvZGVyKQordm9pZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFx
dWVGcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmlj
YXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCiB7CiAgICAgUmVmUHRy
PEFQSTo6T2JqZWN0PiB1c2VyRGF0YTsKICAgICBXZWJDb250ZXh0VXNlck1lc3NhZ2VEZWNvZGVy
IG1lc3NhZ2VEZWNvZGVyKHVzZXJEYXRhLCBwcm9jZXNzKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDMxOWU1MzgwOGJkYzhmMzY0OGFiMWU3MzRhYzhkNjEy
NDQ5YWFmMzEuLjQxYWMxZWI1ZThiOGQ2MGJhZWVjNmVkY2Y3YWZjZTM2MWQ4Y2NmNjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTg4MCw3ICs4ODAsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNoYWJsZVVS
TCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJS
ZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0
IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsUHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRDb21t
aXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwg
dWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwgQ29yZUlQQzo6
TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBmcmFtZUxvYWRUeXBl
LCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2Rl
ciYpOwogICAgIHZvaWQgZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAg
IHZvaWQgZGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yJiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDE5YzVm
NTAxMjI1NmQxNTkzZWE3OTEwZjljMmI0MjhmMjMxZWU0ZTYuLjM5NTQzZmJkNDZlZmVkODYyM2Mw
ZDBjZTM1NjAyNzNiZGE1ODVjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTE3LDcgKzExNyw3IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlkQ3JlYXRlU3ViZnJhbWUodWludDY0X3QgZnJhbWVJRCkK
IAogICAgICMgRnJhbWUgbG9hZCBtZXNzYWdlcwotICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJL
aXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkQ29tbWl0TG9h
ZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9h
ZFR5cGUsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAg
RGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJE
YXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVk
QnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZpbmlz
aERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjEwNWM2NWFk
NzFjNmU4ZGMxMWU3YTgxMGNiOWZkNmYwZGYwYTJlNC4uMzc2MmQxMzMxOWU4Zjk3Y2EzN2VkZmU5
ZjViMTc5YTJkMjRhNTk4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE3Niw4ICsxMTc2LDYgQEAKIAkJQkNGMTg2MzgxNjdE
MDcxRTAwQTFBODVBIC8qIENhY2hlTW9kZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGMTg2MzcxNjdEMDcxRTAwQTFBODVBIC8qIENhY2hlTW9k
ZWwuY3BwICovOyB9OwogCQlCQ0Y0REUyMzE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nl
c3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50
LmggKi87IH07CiAJCUJDRjRERTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNG
NERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggKi87IH07Ci0J
CUJDRjUwNUU3MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU1MTI0MzA0N0IwMDU5
NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKLQkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1
NUFFIC8qIENlcnRpZmljYXRlSW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUlu
Zm8ubW0gKi87IH07CiAJCUJDRjUwNzI4MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0
ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
RjUwNzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLzsgfTsKIAkJ
QkNGNjlGODYxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODQxMTc2Q0Q2RjAw
NDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICovOyB9OwogCQlCQ0Y2OUY4NzExNzZDRDZG
MDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjlGODUxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3Rv
cnlDbGllbnQuaCAqLzsgfTsKQEAgLTI3ODYsOCArMjc4NCw2IEBACiAJCUJDRjE4NjM3MTY3RDA3
MUUwMEExQTg1QSAvKiBDYWNoZU1vZGVsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENhY2hlTW9kZWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
Q0Y0REUyMjE2OEU0QkQ1MDBDOTRBRkMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5o
OyBwYXRoID0gTmV0d29yay9OZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNERFMjQxNjhGQTQ0ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRT
dXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbnRleHRT
dXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRjUwNUU1MTI0MzA0
N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUJDRjUwNUU2MTI0MzA0N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8ubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1
cml0eS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0
aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNl
VHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdl
YkNlcnRpZmljYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJD
ZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQx
MTc2Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC00NzY5LDggKzQ3NjUsNiBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEw
MDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAw
QjYwODc1IC8qIFBERktpdEltcG9ydHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4
NzUgLyogUERGS2l0SW1wb3J0cy5tbSAqLywKLQkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUg
LyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCi0JCQkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8q
IENlcnRpZmljYXRlSW5mby5tbSAqLywKIAkJCQlFMUNDMUI4RjEyRDdFQURGMDA2MjU4MzggLyog
UHJpbnRJbmZvTWFjLm1tICovLAogCQkJCTJENDdCNTZBMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1v
dGVMYXllckJhY2tpbmdTdG9yZS5tbSAqLywKIAkJCQkyRDQ3QjU2QjE4MTA3MTRFMDAzQTNBRUUg
LyogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCAqLywKQEAgLTU3NzgsNyArNTc3Miw2IEBACiAJ
CQkJQzU3NEE1ODExMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTE5NTgyRDMxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9ydHMuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxRkNCMTg5MTdCQkZFMDMwMDM5NENEOCAvKiBTeW5jaHJvbm91
c05ldHdvcmtMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDRjUwNUU3MTI0MzA0
N0IwMDU5NTVBRSAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTAw
RDRGMTgyRDZGNTAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZUludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0M0M0FCQjEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Q
b3B1cE1lbnVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg3ODBGQzExNjFDMkI4MDBDQzI3
NjggLyogUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCkBAIC03MTE5
LDcgKzcxMTIsNiBAQAogCQkJCTJENDI5QkZEMTcyMUUyQzcwMEVDNjgxRiAvKiBQREZQbHVnaW5Q
YXNzd29yZEZpZWxkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQyQURGMDkxNjM2MkRENTAwMTk3
RTQ3IC8qIFBERlBsdWdpblRleHRBbm5vdGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzcx
QjMyREQxODRENjc0OTAwMTNFMkIyIC8qIFdLTlNVUkxQcm90ZWN0aW9uU3BhY2UubW0gaW4gU291
cmNlcyAqLywKLQkJCQlCQ0Y1MDVFODEyNDMwNDdCMDA1OTU1QUUgLyogQ2VydGlmaWNhdGVJbmZv
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRm
b3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTZGQjdEMjExRTY1MUUy
MDBEQjEzNzEgLyogUGx1Z2luLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxQTY3RTBDMTY1QjJB
OTkwMDZDQkE2NiAvKiBQbHVnSW5BdXRvU3RhcnRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IGE1Yjg0NDljNDc3MDZkY2Q1NTg2NDI1ZDUwM2NkMTdiMGY0ZTNk
ZDkuLmM3ZmI0ZDdlNjgxNTk2NmEyZmM4MjExZjFkNWI2Yzg5YzY3MTZmNGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAot
I2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmgiCkBAIC0zNiw2ICszNSw3IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgi
CiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVu
dExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggZmQyZWZhMmE5OWU5OTYx
ZjVkYjU5MWMwZWMwOThjZTM4NTYyNzUzMS4uZjc0NTIxOTVjNDgzYTMzYzBjMjk5YzYzN2Q4MjE1
OWE1ZjgwZmZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRGF0YVJlZmVy
ZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwog
Y2xhc3MgUHJvdGVjdGlvblNwYWNlOwogY2xhc3MgUmVzb3VyY2VCdWZmZXI7CiBjbGFzcyBSZXNv
dXJjZUVycm9yOwpAQCAtNTAsNyArNTEsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogdHlwZWRlZiB1aW50
NjRfdCBSZXNvdXJjZUxvYWRJZGVudGlmaWVyOwogCiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRlciA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYlJlc291cmNlTG9hZGVyPiwgcHVibGljIENvcmVJUEM6Ok1l
c3NhZ2VTZW5kZXIgewpAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxs
U2VuZFJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBkaWRTZW5k
RGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0g
ICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mLCBib29sIG5lZWRz
Q29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURp
ZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3Qg
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAg
IHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lk
IGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDk4YTg3OGZkZjAxNWUxNjA0OWE2MTA4N2Y5
MmMzNmNjNjAyZjFhZDEuLjRhNjIwNDJjNTVkNTQ0MjBlODA2NTYwZjJjMGJhMzNkM2JhOTg0MzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChO
ZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQgbXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNw
b25zZSBtZXNzYWdlcy4KICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkK
ICAgICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNU
b0JlU2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNl
cnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2Fn
ZSkKKyAgICBEaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiAg
ICAgRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBpbnQ2NF90IGVu
Y29kZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291cmNlTG9hZChkb3VibGUgZmluaXNo
VGltZSkKICAgICBEaWRGYWlsUmVzb3VyY2VMb2FkKFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJy
b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDQwMjIzNWNlYjdkMjll
ODcxNWYyNDdhMjNiNzUyMzNlN2RkNGRiYjQuLmIxYTk5OWRjZjRlYTM2MzAwYzU1MDEyYzk3MzBm
YTE3OGRmNmVlOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0yNyw3
ICsyNyw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVMb2FkZXJDbGllbnQuaCIKIAogI2luY2x1ZGUg
IkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgog
I2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5oIgpAQCAtNTIsNiAr
NTEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU09iamVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQVhPYmplY3RDYWNo
ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9DaHJvbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RPTVdyYXBwZXJXb3JsZC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgKaW5kZXggN2NhYTdkZmU5ODhlM2ZlNmQ4MDE0MDNiNDBjNGJjOWY2MzJjNzkx
NS4uMWQxODZhZDQ4YTA1NmFmNmUzYTVhNDQzMDEwYjI1ZjU4OTI2NmJlOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgT2JqZWN0
OwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFz
cyBQYWdlR3JvdXA7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBzdHJ1Y3QgUGx1Z2luSW5mbzsK
QEAgLTc2LDEwICs3Nyw2IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwog
I2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiBjbGFzcyBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b247CiBjbGFzcyBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI7Ci0jZWxzZQotI2lmIFVTRShTT1VQ
KQotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwotI2VuZGlmCiAjZW5kaWYKIAogI2lmIEVOQUJMRShE
QVRBQkFTRV9QUk9DRVNTKQpAQCAtMTc4LDcgKzE3NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVw
ZGF0ZUFjdGl2ZVBhZ2VzKCk7CiAKICNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykgJiYgVVNF
KFNPVVApCi0gICAgdm9pZCBhbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29u
c3QgQ2VydGlmaWNhdGVJbmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93
U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0
ZUluZm8mLCBjb25zdCBTdHJpbmcmIGhvc3QpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4K
aW5kZXggN2VjNDZmNjYyNmU0YzI2NzYyYzg0ZjQzNDQwMDllYWU4Y2Q4NmFlYi4uMzVhZjQyNjVj
YjQwNDU2YjRmODQ0ZGJhZjZiNzc4YmMzMjJjMGY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtODQsNiArODQsNiBAQCBtZXNz
YWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICNlbmRpZgogCiAjaWYgIUVOQUJM
RShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQotICAgIEFsbG93U3BlY2lmaWNIVFRQU0Nl
cnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgU3Ry
aW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgU3RyaW5nIGhvc3QpCiAjZW5kaWYKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3Bw
CmluZGV4IDRmYzRkMjE2MGNhNjY2OTM5NjQwMjY3N2MxZTVkZWU4OTMxY2IwMmUuLjA1NDQ4Mjhj
ZGEyZWYxZmNhYzk2Zjc0ZDNkY2I4N2ZkOWIzZDY2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcApAQCAtMjM2LDcgKzIzNiw3IEBA
IHZvaWQgV2ViUHJvY2Vzczo6c2V0SWdub3JlVExTRXJyb3JzKGJvb2wgaWdub3JlVExTRXJyb3Jz
KQogfQogCiAjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpCi12b2lkIFdlYlByb2Nlc3M6OmFs
bG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbywgY29uc3QgU3RyaW5nJiBob3N0KQordm9pZCBXZWJQcm9jZXNzOjph
bGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGNvbnN0IFN0cmluZyYgaG9zdCkKIHsKICAgICBX
ZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0Q2xpZW50Q2VydGlmaWNhdGUoaG9zdCwgY2VydGlm
aWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>